TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
Alik Levin
When:
1 Aug 2011 2:37 PM
Last revision by
Srigopal Chitrapu
(Microsoft)
When:
26 Dec 2012 6:24 PM
Revisions:
12
Comments:
1
Options
Subscribe to Article (RSS)
Share this
Engage!
Wiki Ninjas Blog
(
Announcements
)
Wiki Ninjas on Twitter
TechNet Wiki Discussion Forum
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using
these instructions
.
Wiki
>
TechNet Articles
>
WCF (REST) Service With Federated Authentication
WCF (REST) Service With Federated Authentication
Article
History
WCF (REST) Service With Federated Authentication
Back to
Windows Azure Active Directory Solutions For Developers
Table of Contents
Scenario
Refer Additional Info at
Solution Approach
Analysis
How-To's
Code Samples
Resources
Scenario
In this scenario application consumes REST service that requires SWT token for authentication. Review the diagram below that schematically depicts the scenario:
Service exposing REST endpoint.
Service requires SWT token.
Credentials can be either/or UID/PWD pair, credentials, symmetric key.
Identities are not managed by corporate Active Directory (AD)
Refer Additional Info at
http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx
Solution Approach
Windows Azure AppFabric Access Control Service (
ACS
) is used to solve this scenario.
ACS manages Service Identities (SI)
ACS manages SI's credentials - UID/PWD pair or/and X.509 client certificates.
WIF can be optionally used on the service side
Analysis
In this solution an agent (WCF client) send request directly to ACS requesting a SWT token based on the credentials which could be a UID/PWD pair, X.509 client certificate, or symmetric key. For more details on tokens read
Token Formats Supported in ACS
. ACS issues the SWT token upon successful authentication based on the credentials. The agent sends the token to the WCF service where it is validated and parsed. WIF is not used neither on client nor on the service side. At the time of this writing WIF does not provide SWT token handler. For detailed step-by-step procedure refer to
How To: Authenticate to a REST WCF Service Deployed to Windows Azure Using ACS
. Alternatively WIF can be used to write custom SWT token handler to be plugged into the WIF pipeline. Consult the following sample -
Code Sample: Windows Phone 7 Application
- for how to write SWT token handler that plugs into the WIF's pipeline. For more info read
Web Services and ACS
. ACS manages WCF service identities and their credentials using
Service Identities
entities
.
How-To's
How To: Configure Trust Between ACS and WCF Service Using Symmetric Keys
How To: Authenticate to a REST WCF Service Deployed to Windows Azure Using ACS
Code Samples
Code Sample: ASP.NET Web Service
Code Sample: Windows Phone 7 Application
Resources
Windows Azure AppFabric Access Control Service (ACS) Academy Videos
Securing WCF Services with ACS