3

JavaScriptアプリの両方で使用するAPIを作成しています(同じドメイン、APIは、サードパーティの開発者(モバイル、デスクトップなど)api.example.comとサイトにexample.comあります)。OAuthを使用したいのですが、ワークフローがどのようになっているのかわかりません。 OAuthと同じオリジンポリシーでアプリケーションを使用する場合。

Webアプリでユーザーを認証するにはどうすればよいですか?ユーザー名とパスワードを送信するときに、リクエストが自分のドメインからのものであるかどうかを確認してから、トークンを返すことはできますか?トークンはCookieに保存され、リクエストごとにサーバーに返送されます。したがって、2つの部分があります。

  1. リクエストが私のドメインからのものである場合は、トークンを確認するか、HTTP例外をスローします。
  2. 私のドメインでない場合は、OAuth認証を行います。

これは可能ですか?asp.net Web APIでこれを設定するにはどうすればよいですか?(主に、リクエストが同じドメインにあるかどうかを確認する部分)

4

1 に答える 1

2

Webアプリにログインするには、OAuthを使用していないと思いますが、ユーザー名とパスワードを受け入れてセッションを開始するだけですか?もしそうなら、あなたは本当にあなた自身のサイトのためにOAuthを気にする必要はありません。

セッションCookieを全体で有効になるように設定*.example.comすると、そのCookieをとの両方で検証できるようにsite.example.comなりapi.example.comます。

例:

  1. リクエストが届きますapi.example.com/verify_credentials.json
  2. OAuth検証が成功した場合は、応答を提供します。
  3. そうでない場合は、Cookieの検証を試みます-成功した場合は提供します
  4. 402 Unauthorized両方が失敗した場合に戻ります。

サブドメイン間でのCookieの共有に関するスレッドは次のとおりです。ASP.NETサブドメインCookie(親と1つのサブドメイン)

于 2012-04-20T10:11:34.203 に答える