2017-08-24 12 views
0

私は静的なフロントエンドを持つAPIを構築しており、authでトリプルアップされています。私はAuth0の使用を検討していますが、何が起こるか少し気になりません。認証の後に。SPA-Auth0-APIトークン認証シーケンスとは何ですか?

SPAとAPIは別々のホストにあります。

これは、正常なAPIアクセスのための一連のイベントに近いですか?

  1. クライアントはAPI
  2. からリソースを要求するAPIは、リソースが
  3. を保護され、クライアントが
  4. Auth0
  5. にログイン資格情報を提出することに応答しAuth0は、資格情報を認証し、で応答...何?トークン?
  6. クライアントは、将来使用するためにこのトークンを保存しますか? (これはCSRFのレシピではありません)
  7. クライアントはAPIからリソースを要求しますが、今度はトークンを使用しますか?
  8. APIはトークンを認識し、リソースで応答しますか?あるいは、クライアントにリソースに応答する前に、APIはすべての要求に対してAuth0に対してトークンを検証する必要がありますか?

ありがとうございます。

+0

こんにちは、私の答えは2日前から下にありましたか?それはあなたの理解や何かがまだ不明なことを助けましたか? – arcseldon

+0

こんにちは@arcseldon、ありがとうございました。私はまだあなたの提案を実装する機会がありませんでした。それは明らかで、私はただそれを上書きしました。私はこのペットプロジェクトで作業するためにもう少し時間を取ったときに正しいとマークします:) – allanberry

+0

ありがとうございます。多くの:)幸運の最高、そしてもちろん、あなたが説明が必要な場合はコメントを使用してください。 – arcseldon

答えて

1

基本的には、以下の説明の目的で、Auth0とSPAアプリを使用して、正しい手順を実行します。

Auth0で認証し、トークンresponse_typeとしてリクエストにaudienceパラメータを渡します。次に例を示します。{{YOUR_XXX}}の部分をあなた自身の値で入れ替えてください。それはあなたがAuth0のダッシュボード/ APIを使用して、クライアントのためのあなたの許可コールバックにそれを追加する必要があります(https://jwt.ioに結果を送信します。

https://{{YOUR_TENANT}}.auth0.com/authorize?client_id={{YOUR_CLIENT_ID}}&protocol=oauth2&redirect_uri=https://jwt.io&response_type=token&scope=openid email&audience=https://{{YOUR_API_AUDIENCE}}&nonce=123&state=xyz 

この上docsは、ここを参照してください。

をはい、SPAのクライアントを通常JWTアクセストークンをローカルストレージに格納します。これは、クッキーを使用するよりもCSRFより優れた保護を提供し、返されたJWTアクセストークンを使用してAPIに対して承認された要求を行います(通常、認証ベアラヘッダーとして送信します)。発行者/署名/オーディエンス/有効期限 - Auth0はRS256に強く有利です(各自の要求に応じて、ステートレスとベアラトークン(JWTアクセストークン)を検証する必要があります) HS256上にあり、低レベルの詳細を抽象化するライブラリ/ SDKを持っています。たとえば、Node.js(Express)を使用すると、これはPassportにミドルウェアを追加するのと同じくらい簡単です。 RS256 vs HS256 hereにはかなり良い書き起こしがあります。

完全なサンプルについては、Node.js/Expressを使用してrecommend this sampleを使用してください。

希望する場合は、まだ不明な点がある場合はいつでもコメントを残してください。

+0

最後にこれを知りました。どうもありがとう。 – allanberry

+0

喜び。謝辞をありがとう:) – arcseldon

関連する問題