Reputation: 145
I want to create azure mvc4 website (azurewebsites) with:
I see the following options:
Federate my app with ACS and use Federated Authentication, Create custom set of tables for UserProfiles and Membership etc, in this approach i cannot use any existing provider. I do not have necessary information in Claims.
Write custom OAuth/OAuth2 client for ACS (I cannot find any) and use OAuthWebSecurity to register it. This approach seems to be right for me, I can use SimpleMembership etc. The problem is that I can't find any examples how to implement it in the correct way.
Q:
What is the right approach in this scenario?
Is there any other option to fill my requirements ?
Is there any OAuthWebSecurity client for ACS?
Thanks, Maciej
Upvotes: 0
Views: 795
Reputation: 5419
We have recently implemented a solution to a similar problem. What we did was:
Over time, it seems that we can use the Thinktecture server to replace the ACS functionality, and provide more control than is available in ACS (such as using our own domain name), but for now, ACS works, and we'll leave it at that. But the Thinktecture service, as an alternative login for simple username/passwords, is important to us — it does mean hosting a separate cloud service however.
What are you wanting out of SimpleMembership? The username/password login (in which case use/host/build a username/password STS endpoint), or the membership/roles tables (which aren't that great anyway).?
Upvotes: 1
Reputation: 1
There is an OAUTH2 client framework in ASP.NET, and I for one wrote an ACS provider for it. The web app loads a OAUTH2 provider that is a facade for an OAUTH2 endpoint. In reality, it talks ws-fedp to ACS (and its various issuers). Since the oauth protocol or the ws-fedp protocol alike is hidden in the provider, the API consumer (the ASP.NET pipeline) doesn't know (or care). After all, its already not care whether it was talking OAUTH1, OAUTH2, or openid behind the same API.
its very effective - and reuses simplemembership with no fuss. Works in web forms, web pages and MVC. The latter 2 are open source, whose source access helps see the bigger picture.
Upvotes: 0
Reputation: 18482
I'd go for approach 1. because -
a) you need ws-fed anyways to incorporate ADFS b) There is no OAuth client for ACS - ACS only supports some special use cases of OAuth (thats why you have not found a client for it).
You want full control over you database anyways - and not use the magic/half baked (depends on your viewpoint) simple membership stuff...
Upvotes: 1