Vorgehensweise: Erstellen einer benutzerdefinierten Ausstellernamenregistrierung
Der folgende Code zeigt, wie benutzerdefinierte Ausstellernamenregistrierungen für X509SecurityTokenHandler und Saml11SecurityTokenHandler erstellt werden. DBHelper.IsIssuerTokenValid
ist ein Platzhalter für eine Hilfsmethode, die das Ausstellertoken überprüft.
using Microsoft.IdentityModel.Tokens; using System.IdentityModel.Tokens;
class SampleIssuerNameRegistry : IssuerNameRegistry { // called by X509SecurityTokenHandler.Validate public override string GetIssuerName(SecurityToken securityToken) { if (!(securityToken is X509SecurityToken)) { throw new SecurityTokenValidationException("Invalid token."); }
X509SecurityToken x509Token = securityToken as X509SecurityToken;
// in der X509-Variante hat das X509-Token keinen Bezug zu issuer name bool issuerTokenValid = DBHelper.IsIssuerTokenValid (x509Token);
if (!issuerTokenValid) { throw new SecurityTokenValidationException("Untrusted issuer token."); }
return x509Token.Certificate.FriendlyName; }
// aufgerufen von Saml11SecurityTokenHandler.Validate und Saml2SecurityTokenHandler.Validate public override string GetIssuerName(SecurityToken securityToken, string requestedIssuerName) { bool issuerTokenValid = DBHelper.IsIssuerTokenValid(securityToken);
if (!issuerTokenValid) { throw new SecurityTokenValidationException("Untrusted issuer token."); }
return requestedIssuerName; }
public override string GetWindowsIssuerName() { return "WINDOWS AUTHORITY"; }
}