最近使用了Sharepoint 2010的開發,其中包括一個新的服務STS,看了一下,主要資料如下:
現有的認證授權如Memebership的開發支援已經比較完善了,之是以引入WIF,主要是通過間接的形式抽象,使認證和授權在分布式環境下更易使用。
With the inflationary growth of distributed systems and online businesses, in the last few years the increasing need for interoperable protocols that could tear down the walls between silos became clear. The big players in the IT industry got together and agreed on a set of common protocols that would support interoperable communications across different platforms. Some examples of those protocols are SOAP, WS-Security, WS-Trust, WS-Federation, Security Assertion Markup Language (SAML), and in more recent times, OpenID, OAuth, and other open protocols.Claims-based identity promotes separation of concerns at a level never achieved before in the identity management world.
Windows Identity Foundation (WIF) is Microsoft’s stack for claims-based identity programming. It is a new foundational technology which helps .NET developers to take advantage of the claims based approach for handing authentication, authorization, customization and in general any identity-related task without the need to write any low-level code.
經典的claims-based identity過程

WIF的過程
identity providers (IP).
relying party (RP)
STS (Security Token Service).
WIF的具體過程:
1. WIF sits in front of your application in the ASP.NET pipeline. When an unauthenticated user requests a page, it redirects the browser to the identity provider pages.
2. Here the IP authenticates the user in whatever way it chooses (perhaps by showing a page with user name and password, using Kerberos, or in some other way). Then it manufactures a token with the required claims and sends it back.
3. The browser posts the token it got from the IP to the application, where WIF again intercepts the request.
4. If the token satisfies the requirements of the application (that is, it comes from the right IP, contains the right claims, and so on), the user is considered authenticated. WIF then drops a cookie, and a session is established.
5. The claims in the incoming token are made available to the application code, and the control is passed to the application.
WIF Runtime 和 WIF SDK
很多的例子和概念展示