Question

OAuth 2.0 délégation est inclus dans le Azure AppFabric Service Access Control:

http://blogs.objectsharp.com/cs/blogs/steve/archive/2011/04/11/windows-azure-access-control-services-v2-rtw.aspx

Mais comment voulez-vous réellement mettre en place un fournisseur d'identité OAuth 2.0?

Dans l'interface de gestion lorsque vous ajoutez un fournisseur d'identité et sélectionnez fournisseur d'identité WS-Federation, vous devez fournir un document de métadonnées WS-Federation.

Cependant, lorsque vous lisez la documentation des fournisseurs OAuth 2.0 (c.-à- http: / /msdn.microsoft.com/en-us/library/hh243647.aspx ) il n'y a aucune mention d'un document de métadonnées (Oui, je sais que Windows live est inclus en tant que fournisseur d'identité préconfiguré). Est-ce quelque chose que je dois écrire?


Mise à jour

Ok, donc j'ai trouvé que vous pouvez ajouter des fournisseurs d'identité supplémentaires à l'aide de l'API, voir ces commandes PowerShell comme un exemple:

http://blogs.msdn.com/b/vbertocci/archive/2011/05/19/adding-a-custom-openid-provider-to- acs-avec-just-one-ligne de Powershell-code.aspx

Toutefois, lorsque vous essayez d'ajouter un fournisseur OAuth, je viens obtenir une erreur:

Add-IdentityProvider -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx"

Add-IdentityProvider : An error occurred while processing this request.
At line:1 char:21
+ Add-IdentityProvider <<<<  -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx"
+ CategoryInfo          : CloseError: (:) [Add-IdentityProvider], ServiceManagementException
+ FullyQualifiedErrorId : Microsoft.Samples.DPE.ACS.ServiceManagementTools.PowerShell.IdentityProviders.AddIdentityProviderCommand

Une autre mise à jour

L'API de gestion ACS fournit un mécanisme permettant d'ajouter de nouveaux fournisseurs d'identité (si vous définissez OpenId comme WebSSOProtocolType), cependant, je ne vois pas comment vous passez dans la clé / secret pour personne que le serveur de test OAuth ( http://term.ie/oauth/example/ ) J'utilise demande.

http://msdn.microsoft.com/en-us/library/ hh278947.aspx

Était-ce utile?

La solution

Dans une conversation par courriel j'ai eu avec Dominick Baier (www.leastprivilege.com) il a dit:

ACS soutient en fait OpenId IdP - pas OAuth. OAuth est utilisé pour jeton demandes (délégation jetons généralement).

Pour ajouter de nouveaux OpenIDs vous IdP besoin d'utiliser l'API de gestion - Vittorio a un billet de blog avec un échantillon quelque part. Mais pas tous les fournisseurs OpenId sont pris en charge.

Si je compris l'e-mail de Dominick correctement, vous ne pouvez pas utiliser OAuth à ce titre, vous devez utiliser OpenId. Malheureusement, le gars qui a écrit le premier article de blog que vous avez mentionné ne sait vraiment pas quoi que ce soit sur OpenID / OpenAuth - il est un gars WS-Fed. Je dis cela parce que je l'ai écrit ...:)

Autres conseils

OAuth 2 scénario de délégation, section 4.1 dans le projet 13, ne prescrit pas un type de fournisseur d'identité ou tout autre fournisseur d'identité du tout. Vous avez juste besoin de faire une certaine forme d'authentification dans votre site Web et redirection vers l'URL de votre client avec un code d'authentification.

Je recommande de prendre un coup d'oeil à l'échantillon de la délégation Auth 2 à:

https://connect.microsoft.com/site1168/Downloads

Vous remarquerez que dans cet exemple l'authentification de l'utilisateur est mis en œuvre avec un code de support de lieu (nom d'utilisateur / mot de passe codés en dur). Dans scénario monde réel, vous pouvez utiliser un modèle d'authentification, y compris la Fédération avec ACS, ce qui serait logique puisque vous utilisez déjà ACS pour la mise en œuvre de votre délégation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top