How To: Use AD FS Endpoints When Developing Claims Aware WCF Services Using WIF
This post is based on WIF Built-in Bindings Overview and AD FS Endpoints. This information should provide a more cohesive view for developers when developing claims aware WCF services using AD FS and WIF.
There are 30 scenarios here. Working on guidance when to use what.
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/windows | Trust13WindowsMessage |
WindowsWSTrustBinding windowsTrust13MessageBinding = new WindowsWSTrustBinding(); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/windowsmixed | Trust13WindowsMixed |
WindowsWSTrustBinding windowsTrust13MixedBinding = new WindowsWSTrustBinding(SecurityMode.TransportWithMessageCredential); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/windowstransport | Trust13WindowsTransport |
WindowsWSTrustBinding windowsTrust13TransportBinding = new WindowsWSTrustBinding(SecurityMode.Transport); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/certificate | Trust13CertificateMessage |
CertificateWSTrustBinding certificateTrust13MessageBinding = new CertificateWSTrustBinding(); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/certificatemixed | Trust13CertificateMixed |
CertificateWSTrustBinding certificateTrust13MixedBinding = new CertificateWSTrustBinding(SecurityMode.TransportWithMessageCredential); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/certificatetransport | Trust13CertificateTransport |
CertificateWSTrustBinding certificateTrust13TransportBinding = new CertificateWSTrustBinding(SecurityMode.Transport); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/username | Trust13UserNameMessage |
UserNameWSTrustBinding userNameTrust13MessageBinding = new UserNameWSTrustBinding(); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/usernamemixed | Trust13UserNameMixed |
UserNameWSTrustBinding userNameTrust13MixedBinding = new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/usernamebasictransport | Trust13UserNameBasicTransport |
UserNameWSTrustBinding userNameTrust13TransportBasicBinding = new UserNameWSTrustBinding(SecurityMode.Transport, HttpClientCredentialType.Basic); |
AD FS Endpoint | WCF Binding |
N/A | Trust13UserNameDigestTransport |
UserNameWSTrustBinding userNameTrust13TransportDigestBinding = new UserNameWSTrustBinding(SecurityMode.Transport, HttpClientCredentialType.Digest); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/kerberosmixed | Trust13KerberosMixed |
KerberosWSTrustBinding kerberosTrust13MixedBinding = new KerberosWSTrustBinding(SecurityMode.TransportWithMessageCredential); |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/issuedtokenasymmetricbasic256 | Trust13IssuedTokenAsymmetricBasic256 |
IssuedTokenWSTrustBinding issuedTokenBinding = new IssuedTokenWSTrustBinding(); issuedTokenBinding.KeyType = SecurityKeyType.AsymmetricKey; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/issuedtokenmixedasymmetricbasic256 | Trust13IssuedTokenMixedAsymmetricBasic256 |
IssuedTokenWSTrustBinding issuedTokenBinding = new IssuedTokenWSTrustBinding(); issuedTokenBinding.SecurityMode = SecurityMode.TransportWithMessageCredential; issuedTokenBinding.KeyType = SecurityKeyType.AsymmetricKey; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/issuedtokenmixedsymmetricbasic256 | Trust13IssuedTokenMixedSymmetricBasic256 |
IssuedTokenWSTrustBinding issuedTokenBinding = new IssuedTokenWSTrustBinding(); issuedTokenBinding.SecurityMode = SecurityMode.TransportWithMessageCredential; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/13/issuedtokensymmetricbasic256 | Trust13IssuedTokenSymmetricBasic256 |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/windows | TrustFeb2005WindowsMessage |
WindowsWSTrustBinding windowsTrustFeb2005MessageBinding = new WindowsWSTrustBinding(); windowsTrustFeb2005MessageBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/windowsmixed | TrustFeb2005WindowsMixed |
WindowsWSTrustBinding windowsTrustFeb2005MixedBinding = new WindowsWSTrustBinding(SecurityMode.TransportWithMessageCredential); windowsTrustFeb2005MixedBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/windowstransport | TrustFeb2005WindowsTransport |
WindowsWSTrustBinding windowsTrustFeb2005TransportBinding = new WindowsWSTrustBinding(SecurityMode.Transport); windowsTrustFeb2005TransportBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/certificate | TrustFeb2005CertificateMessage |
CertificateWSTrustBinding certificateTrustFeb2005MessageBinding = new CertificateWSTrustBinding(); certificateTrustFeb2005MessageBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/certificatemixed | TrustFeb2005CertificateMixed |
CertificateWSTrustBinding certificateTrustFeb2005MixedBinding = new CertificateWSTrustBinding(SecurityMode.TransportWithMessageCredential); certificateTrustFeb2005MixedBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/certificatetransport | TrustFeb2005CertificateTransport |
CertificateWSTrustBinding certificateTrustFeb2005TransportBinding = new CertificateWSTrustBinding(SecurityMode.Transport); certificateTrustFeb2005TransportBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/username | TrustFeb2005UserNameMessage |
UserNameWSTrustBinding userNameTrustFeb2005MessageBinding = new UserNameWSTrustBinding(); userNameTrustFeb2005MessageBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/usernamemixed | TrustFeb2005UserNameMixed |
UserNameWSTrustBinding userNameTrustFeb2005MixedBinding = new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential); userNameTrustFeb2005MixedBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/usernamebasictransport | TrustFeb2005UserNameBasicTransport |
UserNameWSTrustBinding userNameTrustFeb2005TransportBasicBinding = new UserNameWSTrustBinding(SecurityMode.Transport, HttpClientCredentialType.Basic); userNameTrustFeb2005TransportBasicBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
TrustFeb2005UserNameDigestTransport | |
UserNameWSTrustBinding userNameTrustFeb2005TransportDigestBinding = new UserNameWSTrustBinding(SecurityMode.Transport, HttpClientCredentialType.Digest); userNameTrustFeb2005TransportDigestBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/kerberosmixed | TrustFeb2005KerberosMixed |
KerberosWSTrustBinding kerberosTrustFeb2005MixedBinding = new KerberosWSTrustBinding(SecurityMode.TransportWithMessageCredential); kerberosTrustFeb2005MixedBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/issuedtokenasymmetricbasic256 | TrustFeb2005IssuedTokenAsymmetricBasic256 |
issuedTokenBinding.KeyType = SecurityKeyType.AsymmetricKey; issuedTokenBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/issuedtokenmixedasymmetricbasic256 | TrustFeb2005IssuedTokenMixedAsymmetricBasic256 |
issuedTokenBinding.SecurityMode = SecurityMode.TransportWithMessageCredential; issuedTokenBinding.KeyType = SecurityKeyType.AsymmetricKey; issuedTokenBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/issuedtokenmixedsymmetricbasic256 | TrustFeb2005IssuedTokenMixedSymmetricBasic256 |
issuedTokenBinding.SecurityMode = SecurityMode.TransportWithMessageCredential; issuedTokenBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |
AD FS Endpoint | WCF Binding |
/adfs/services/trust/2005/issuedtokensymmetricbasic256 | TrustFeb2005IssuedTokenSymmetricBasic256 |
issuedTokenBinding.TrustVersion = TrustVersion.WSTrustFeb2005; |