1

親愛なる貢献者の皆様、こんにちは!

私は再び失速しています。この素晴らしいチュートリアルを適応させる方法について、チュートリアルまたはいくつかの方向性を調査しました。

http://msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_ACSAndWindowsPhone7

Windows Phone の代わりにブラウザの Silverlight アプリケーションにするには? パブリック データベースとプライベート データベースを備えた現在のモデルを維持し、理想的には Silverlight アプリケーションを Azure ソーシャル ゲーム パックにプラグインしたいと考えています。

https://github.com/WindowsAzure-Toolkits/wa-toolkit-games

これは同様の ACS パターンを使用します。私が必要とする指示は、Oauth2 のクライアント処理に関するものです。

この件についてご協力いただきありがとうございます。

4

1 に答える 1

2

ブラウザー内の Silverlight アプリケーションである場合、通常の Web サイトとして扱わないのはなぜですか? みたいな流れになります

  1. ユーザーがアプリを閲覧する
  2. XAP を送信する前に、Web サイトに ID プロバイダーのリストが表示されます。ユーザーがいずれかを選択すると、ログインにリダイレクトされます。
  3. ユーザーがログインすると、トークンがアプリに投稿されます (ソーシャル ゲーム ツールキット)。幸いなことに、Social Gaming Toolkit は既に Web サイトで ACS との統合を提供しているため、やるべきことはあまりありません。ユーザーは、Windows Identity Foundation によって生成された Cookie を内部のクレームと共に取得します (現時点では、Silverlight は関係ありません)。
  4. XAP を送信すると、Silverlight アプリが読み込まれます
  5. これ以降、XAP からアプリ (Social Games Toolkit を含む) に対して行われるすべてのリクエストには、すべてのリクエストで WIF Coo​​kie が送信されるため、プリンシパルが設定されます。

ユーザー エクスペリエンスを少し変更したい場合は、通常の HTML/asp.net ページに ID プロバイダー リストを表示する代わりに、Silverlight アプリから行います (Windows Phone ラボが示しているように)。次に、Silverlight アプリから ID プロバイダーを一覧表示する ACS JSON エンドポイントを使用するだけです。

ツールキットはすでにそれを行っており、以下から基本的なアイデアを抽出できます。

https://github.com/WindowsAzure-Toolkits/wa-toolkit-games/blob/master/code/SocialGames.Web/Services/AuthService.cs#L29

JSON で ID プロバイダーのリストを取得する要求は、次のようになります。

https://your_servicenamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=your_application_realm&version=1.0&context=some_contextual_data_youwanttokeepacrossredirects "

最後に、このラボも役立つはずです

http://msdn.microsoft.com/en-us/IdentityTrainingCourse_SilverligthAndIdentity2010

FWIW、Windows Phone が機能する方法は、ACS で JavaScript 通知エンドポイントを使用することです。これは、上記で説明したものとは異なります。

流れはこんな感じ

  1. 電話にはログインオプションが表示されます (Facebook、LiveID など)。
  2. ユーザーはそれらのいずれかをクリックします
  3. ユーザは ACS にリダイレクトされ、選択した ID プロバイダーにリダイレクトされます
  4. ユーザがログインすると、ある種のトークンが ACS に送り返されます(ID プロバイダーによって異なります)。
  5. この時点で、ACS は少しの JavaScript を含む HTML ページをレンダリングします。これにより、ブラウザー (Windows Phone でホストされている) に、ペイロード (この場合はトークン) を含む外部信号を送信するように指示されます。 window.external.Notify('THE_TOKEN');
  6. 電話アプリは通知を検出し、トークンを取得します

既にブラウザーを使用しているため、Silverlight ブラウザー内アプリケーションで JavaScript 通知メカニズムがどのように機能するかはわかりません。しかし、あなたがそれを試したら、私たちに知らせてください.

マティアス

于 2012-06-03T14:48:53.890 に答える