5

OAuth 2.0委任は、Azure AppFabric AccessControlServiceに含まれています。

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

しかし、実際にOAuth 2.0 IDプロバイダーをどのように設定しますか?

IDプロバイダーを追加してWS-FederationIDプロバイダーを選択する場合の管理インターフェイスで、WS-Federationメタデータドキュメントを提供する必要があります。

ただし、OAuth 2.0プロバイダーのドキュメント(つまり、http://msdn.microsoft.com/en-us/library/hh243647.aspx)を読むと、メタデータドキュメントについての言及はありません(はい、WindowsLiveが含まれていることはわかっています)。事前構成されたIDプロバイダーとして)。これは私が書かなければならないことですか?


アップデート

わかりました。APIを使用してIDプロバイダーを追加できることがわかりました。例として次のPowerShellコマンドを参照してください。

http://blogs.msdn.com/b/vbertocci/archive/2011/05/19/adding-a-custom-openid-provider-to-acs-with-just-one-line-of-powershell-code。 aspx

ただし、OAuthプロバイダーを追加しようとすると、エラーが発生します。

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

別の更新

ACS Management APIは、新しいIDプロバイダーを追加するためのメカニズムを提供します(OpenIdをWebSSOProtocolTypeとして設定した場合)が、OAuthテストサーバー( http://term.ie)のキー/シークレットをどのように渡すかがわかりません。/ oauth / example /)私が使用しているrequires。

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

4

2 に答える 2

4

私がドミニク・ベイヤー(www.leastprivilege.com)と行った電子メールの会話で、彼は次のように述べました。

ACSは、実際にはOAuthではなくOpenIdIdPをサポートしています。OAuthは、トークンリクエスト(通常は委任トークン)に使用されます。

新しいOpenIdsIdPを追加するには、管理APIを使用する必要があります。Vittorioには、サンプルを含むブログ投稿がどこかにあります。ただし、すべてのOpenIdプロバイダーがサポートされているわけではありません。

Dominickの電子メールを正しく理解していれば、この機能ではOAuthを使用できず、OpenIdを使用する必要があります。残念ながら、あなたが最初に言及したブログ記事を書いた人は、OpenID/OpenAuthについて何も知りません。彼はWS-Fedの人です。私はそれを書いたのでそれを言います...:)

于 2011-09-09T18:24:48.257 に答える
2

OAuth 2委任シナリオ、ドラフト13のセクション4.1は、IDプロバイダーのタイプまたはIDプロバイダーをまったく義務付けていません。Webサイトで何らかの形式の認証を実行し、認証コードを使用してクライアントのURLにリダイレクトする必要があります。

次のAuth2委任サンプルを確認することをお勧めします。

https://connect.microsoft.com/site116​​8/Downloads

このサンプルでは、​​ユーザーの認証がプレースホルダーコード(ハー​​ドコードされたユーザー名/パスワード)で実装されていることに気付くでしょう。実際のシナリオでは、ACSとのフェデレーションを含む任意の認証パターンを使用できます。これは、委任の実装にすでにACSを使用しているため意味があります。

于 2011-09-12T17:40:01.190 に答える