web-dev-qa-db-ja.com

サーバーはどのようにしてJWTトークンをクライアントに返しますか?

これがJWTトークンとの最初の出会いであり、このトークンが最初に作成された後にクライアントにどのように返されるか知りたいのですが。

Authorization : Bearer headerに入っている必要がありますか?

通常、各リクエストでトークンをAuthorization : Bearer headerで渡すのはクライアントです。
ユーザーが認証されてトークンが作成された後、サーバーがこのトークンをクライアントに渡す方法を知りたいのですが。同じヘッダーでも?別のヘッダーにありますか?

私の状況では、サーバーはトークンを応答としてではなく、要求の一部として生成します。

例えば:-

ユーザーはポータルにログインし、承認されたアプリケーションへのリンクをクリックします。ユーザークレームを含むJWTは、リクエストの一部として承認済みアプリケーションに渡されます。
ここでの最良のアプローチは何ですか? GETまたはPOST?ヘッダー(どちら)?クエリ文字列? POST body?ありがとう!

8
user1411018

jWTトークンをクライアントに返す方法に関する標準はありませんが、このURLを確認してください。質問に答えます

https://github.com/dwyl/hapi-auth-jwt2/issues/82#issuecomment-129873082

jWTトークンをAuthorizationヘッダーに配置すると、Webアプリケーションで実際の応答を送信する柔軟性が得られます。 RESTのみのアプリ/ APIの場合、JWTを応答本文またはCookieとして自由に送信できます。重要なのは、クライアントがどのようにJWTを格納し、それをサーバーに送り返すかです。これは、Authorizationヘッダー(またはCookieまたはURLトークン)で行われます????

これが「ワイルド」に存在することについては、サーバーがクライアントにAuthorizationヘッダーを送信する例を見たことがありませんが、仕様にこれがアンチパターンであることを示唆するものは何もありません。参照: http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html

ガイドラインを守りたい場合は、次の例に従ってください: http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#ExAccTokResp

7
Ramy Feteha