2012-02-07 18 views
1

ACSが提供する認証&認証を使用するODataサービスを作成しようとしています。ACSを使用したIdP認証後にSWTトークンを表示

私はACSを設定できましたが、サービスのユーザーがSWTトークンを生成して「Authorization」ヘッダーに追加する機能を提供する必要があります。私は利用可能なIdPのリストを提供し、認証が成功した後にSWTトークンを表示するWebページを作成します。

どうすればよいですか?

+0

それが戻ってあなたがRPのように動作しますウェブサイトをホストするように、聞こえるACSにユーザーをリダイレクトして、アイデンティティプロバイダに及び、そして:その方法は、あなたのウェブサイトは、そのようSWTトークンをつかむことができますACSから受信したSWTを表示するだけです。もしSCBのリンクがこれを行うために必要なコードを与える必要があるならば、あなたのシナリオについてもっと知りたいと思うでしょう。 ODataクライアントの性質は何ですか?たとえば、ユーザーのためにOData呼び出しを行うWebサイトがありますか? –

+0

私の究極の目標は、既存のOData(.NET)サービスを使用するJavaScriptアプリケーションを作成することです。 ACSを使用してODataサービスを保護したいと思います。現在私はサービスを呼び出すときにJavascriptアプリケーションによって承認ヘッダに挿入されるべきSWTトークンを取得するのに苦労しています。 – Glaxalg

答えて

2

SCBのリンクはここに素晴らしいスタートです。 ODataサービスに加えて、ACSによって発行されたSWTトークンを取得してキャッシュすることができるWebサイトをホストして、ユーザーの代わりにODataサービスへの認証された呼び出しを行うことができます。

ACS sampleのようなWIFベースのサイトでこれを行うことができますが、独自のカスタムセキュリティトークンハンドラを用意して、WIFによってネイティブにサポートされていないSWTトークンを理解する必要があります。

これを行う方法のヒントを提供するapril 2011 identity training kitをご覧ください。たとえば、Windows Phone 7サンプルのWIFライブラリで構築されるSimpleWebTokenおよびSimpleWebTokenHandlerクラスを見つけることができます。そのウォークスルーのステップ38をチェックし、SimpleWebTokenHandlerをサイトのweb.configに追加する方法を示します。

これらのすべてを有効にすると、web.configのmicrosoft.identityModel/serviceセクションにもsaveBootstrapTokens = "true"を設定する必要があります。

SimpleWebToken swt = ((IClaimsIdentity)HttpContext.Current.User.Identity).BootstrapToken as SimpleWebToken 
+0

私はこのようなことをしています。私はブートストラップされたトークンを取得し、それをクライアントに送信することができます。次のようになります。http%3a%2f%2fschemas.xmlsoap.org%2fws%2f2005%2f05%2fidentity%2fclaims%2fnameidentifier = HM81Sv2xnRD6P%2bm2W2T%2feBAfAhH2ZTMMxSBBOQ1Rxqs%3d&http%3a%2f%2fschemas.microsoft.com%2faccesscontrolservice%2f2010 %2f07%2%2fidentityprovider = uri%3aWindowsLiveID&Audience = http%3a%2f%2f77.75.160.102%3a48451%2f&ExpiresOn = 1348788305&Issuer = https%3a%2f%2ftraffictheory.accesscontrol.windows。 –

+0

クライアントからは、このトークンをどうすればいいのか分かりません。認証ヘッダーに直接設定する必要がありますか? –

+0

今、私のウェブサイトはFederatedAuthentication.WSFederationAuthenticationModuleで認証失敗イベントを記録しました –

1

私はあなたの質問を正しく理解している場合は、利用可能なプロバイダを一覧表示するページを表示しようとしています。

マイクロソフトは、自動生成されたプロバイダの一覧を表示することを含むACSの接続方法の非常に良い例を持っています。データアクセスのチームACSへのODataをフックに関しては

http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-control/

も自分のブログでシリーズを通して非常に良い散歩を持っています。

http://blogs.msdn.com/b/astoriateam/archive/2011/01/20/oauth-2-0-and-odata-protecting-an-odata-service-using-oauth-2-0.aspx

関連する問題