基本的には、以下の説明の目的で、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を使用してください。
希望する場合は、まだ不明な点がある場合はいつでもコメントを残してください。
こんにちは、私の答えは2日前から下にありましたか?それはあなたの理解や何かがまだ不明なことを助けましたか? – arcseldon
こんにちは@arcseldon、ありがとうございました。私はまだあなたの提案を実装する機会がありませんでした。それは明らかで、私はただそれを上書きしました。私はこのペットプロジェクトで作業するためにもう少し時間を取ったときに正しいとマークします:) – allanberry
ありがとうございます。多くの:)幸運の最高、そしてもちろん、あなたが説明が必要な場合はコメントを使用してください。 – arcseldon