2016-04-11 17 views
0

私は何ヶ月も読んでおり、何らかの理由でそれをクリックしていないだけです。私はapi.domain.comとサイトで生活しているRESTfulなWeb APIを持っています。domain.comはAngularJS SPAアプリです。Google OAuth 2.0フローの問題(暗黙的)

クライアント(localStorage)にaccess_tokenがない場合、私はOAuth 2経由で認証するためにユーザーをGoogleにリダイレクトし、コールバックページにリダイレクトされ、ローカルストレージにaccess_tokenを書き出します。

私はAPIを呼び出してそのベアラトークンを送信すると、APIを認識して認証して認証済みメソッドを呼び出すことができますか?

私はここでサークルを実行していると思うし、ちょうど固い方向が必要です。

認証エンドポイント:https://accounts.google.com/o/oauth2/v2/auth
スコープ:OpenIDのプロファイルメール
リダイレクト(今のところ):http://localhost/callback.html
ウェブAPI:http://api.domain.com
流れ:暗黙のフロー
SPA:http://localhost
トークンの検証URI:https://www.googleapis.com/oauth2/v3/tokeninfo

ユーザーはhttp://localhostになり、角度アプリはaccess_token iをチェックしますnローカルストレージ。検出された場合は、トークン検証URIを呼び出して、有効で有効期限切れでないことを確認します。角度では、httpインターセプタを介して、そのURIから出るリクエストはWeb APIにあり、access_tokenは認証ヘッダにベアラトークンとして設定されます。私はこの時点で起こることを期待し何

は、私が承認としてマークされているすべてのAPIメソッドは、それが今になりました水和User.Identityオブジェクトとの通過を許可し、200

+0

あなたは何かについて混乱していると思います。あなたがしていることをもう少し詳細に伝えられますか?どのAPIを呼び出そうとしていますか? – DaImTo

+0

私は非常に混乱しています。私がそれを得ると思うたびに、私は明らかにしません。私はGoogleから取得したaccess_tokenを取得し、アクセス権があるかどうかをAPIで確認するためにAPIを使用することができます。私はapi.domain.comに住んでいるapiを通じてそれをしたいと思っています。 – DGSouth

+0

あなたが書き込んだAPIに誰かがアクセスできるかどうかを確認するには、Googleのアクセストークンを使用しますか?なぜあなたはそれをしたいと思うのか本当に知りたいですか? Googleのアクセストークンは、Googles APIにアクセスするためのもので、送信する範囲は何ですか? – DaImTo

答えて

0

を返すことをここにあり、この素晴らしいプレゼンテーションです。

https://speakerdeck.com/developerinfra/authentication-using-tokens-for-angularjs-owin-asp-dot-net-web-api-and-identity

そして、ここにあり、この素晴らしい記事。ここにある彼の最も優れたサンプル実装と組み合わせる

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

。私の17年のキャリアの中で最長の研究努力の一つ後

https://github.com/tjoudeh/AngularJSAuthentication

、私は一緒にそれをすべて入れて1人を発見しました。

関連する問題