問題:
ローカル認証戦略のみを使用して、安全な API をクライアント側アプリに提供します。
赤い矢印は知識ギャップの一部です。
環境:
つまり ---のようなGETサービスにアクセスできる場所にPOSTをclient.example.com
作成しています。api.example.com/login
client.example.com
api.example.com/secret
アイデア!
API の前にあるハイブリッド許可タイプによる OAuth 2.0 の実装。
なぜハイブリッド?
APIサーバーへのリダイレクトもアクセストークンの付与もないため、
Implicit Grant Flow
別名ではありません。Client-Side Web Applications Flow
(ie) 「誰々があなたのデータにアクセスしても大丈夫ですか?」クライアント ID とクライアント シークレットが要求と共に渡されるため、クライアント アプリはサーバー側であると想定される
Resource Owner Password Flow
ため、これは問題ではありません。
わかりました...では、両方とも少しはどうでしょうか?
クライアント側アプリのページ読み込み時に CRSF トークンを使用し、アクセス トークンと交換する OAuth 2.0 認証エンドポイントとユーザー資格情報を POST するとどうなるでしょうか? ログインが成功したら、後続の各リクエストをアクセス トークンと CRSF トークンで認証します。
私が見つけた良い Node.js OAuth 2.0 ライブラリ:
https://github.com/ammmir/node-oauth2-provider
助けて!
この問題を解決する認証手段の実例が見つかりません! 私を正しい方向に向けますか?
最終的に、ここでの目標は、上記の規則が不可能であっても、CORS をローカル戦略 (ユーザー名とパスワード) を使用して REST API に対してクライアント側アプリを認証することです。
報奨金に対応するには:
これはクライアント側のアプリなので、トレンディにしましょう。
上記のNode.js OAuth 2.0 シードを API/Auth サーバーに使用し、Angular.jsやBackbone.jsなどのフロント エンド フレームワークを使用してリクエストを行う実際の例を探しています。
例は、上記のコンテキストと一致する必要があります。