Click here to Skip to main content
Licence CC (ASA 2.5)
First Posted 15 Dec 2010
Views 5,919
Bookmarked 0 times

WCF Claims, STS and Federation – Layman’s View

By | 15 Dec 2010 | Technical Blog
WCF Claims, STS and Federation – Layman’s View
A Technical Blog article. View original blog here.[^]

Configuring Your Federation

I’m here to explain WCF claims in federated services using STS (security token service) from a layman’s perspective. I’ve started with the set of configuration you have to put in place on web.config under system.serviceModel to make your service in a federated way. Instead of a very boring textual explanation, I’m explaining it in a comic way.

This is to be declared inside <binding> -> <security> element of system.serviceModel section of web.config.

<wsFederationHttpBinding>
 <binding name="wsFed">
  <security mode="Message">
   <message issuedTokenType=
     "<strong>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1
     </strong>" negotiateServiceCredential="false">    
    <issuer address="<strong>http://udoozSTS/TokenService.svc</strong>" 
	binding ="wsHttpBinding"  bindingConfiguration="udoozSTSBinding" >
     
    </issuer>
   </message>
  </security>
 </binding>
</wsFederationHttpBinding>

The <issuer> is the place you have to tell where STS is hosted over which binding with appropriate binding configuration. This service expects SAML 1.1 provided by udoozSTS. Since this is expected as part of the request message, it has been declared in Message security mode.

This is has to be declared in <identity> section of <issuer>.

<identity>
         <certificateReference
              findValue="WCFServerKey"
              x509FindType="FindBySubjectName"
              storeLocation="LocalMachine"
              storeName="TrustedPeople" />
</identity>

This has to be declared in <claimTypeRequirements> element under <message>.

<claimTypeRequirements>
<add claimType="http://schemas.udooz.net/2010/12/identity/claims/facebookId" 
	isOptional="false"/>
 <add claimType="http://schemas.udooz.net/2010/12/identity/claims/orgName" 
	isOptional="false"/>
</claimTypeRequirements> 

The whole configuration related to this is:

 <bindings>
 <wsFederationHttpBinding>
  <binding name="mrservice">
   <security mode="Message">
    <message issuedTokenType=
	http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1 
	negotiateServiceCredential="false">
     <claimTypeRequirements>
      <add claimType="http://schemas.udooz.net/2010/12/identity/claims/facebookId" 
	isOptional="false"/>
      <add claimType="http://schemas.udooz.net/2010/12/identity/claims/orgName" 
	isOptional="false"/>
     </claimTypeRequirements>
     <issuer address="http://udoozSTS/TokenService.svc" 
	binding ="wsHttpBinding"  bindingConfiguration="udoozSTSBinding" >
      <identity>
       <certificateReference
         findValue="WCFServerKey"
         x509FindType="FindBySubjectName"
         storeLocation="LocalMachine"
         storeName="TrustedPeople" />                 
      </identity>
     </issuer>
    </message>
   </security>
  </binding>
 </wsFederationHttpBinding>
<bindings>

The proofs are called as claims. A collection of claims about a consumer provided by an identity provider (STS) with its identity is called as ClaimSet.

The comic was developed using: .

To be continued…

License

This article, along with any associated source code and files, is licensed under The Creative Commons Attribution-ShareAlike 2.5 License

About the Author

M Sheik Uduman Ali

Architect
Aditi
India India

Member

Follow on Twitter Follow on Twitter
Working as Architect for Aditi, Chennai, India.
 
My Website: www.udooz.net
 
My Blog: www.udooz.net/blog

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 5 PinmemberMarcelo Lujan [El Bebe.Net ]9:29 8 Feb '12  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web03 | 2.5.120517.1 | Last Updated 16 Dec 2010
Article Copyright 2010 by M Sheik Uduman Ali
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid