2017-04-19 2 views
1

私はJWTを初めて使いました。セッション作成用のエンドポイントがあります。リクエストは自分のモバイルアプリで行います。JWT/JSON Webトークン:作成時に本体のトークンを渡すのは安全ですか?

new_conn 
|> put_status(:created) 
|> put_resp_header("authorization", "Bearer #{jwt}") #<----------- 
|> render("show.json", session: user) 

しかし、これは私のクライアント側から読み取ることが少しトリッキーです:ユーザーが正常にサインが、私は認証ベアラヘッダーでJWTを返すとき、現在、私はそれがなるように持っています。代わりにJSONレスポンスで返すのは安全ですか?クライアントがサーバーに資格情報を送信し

答えて

2

(トークンのためにそれらを交換するために)最近発行されたトークンは、それはあなた次第です、テキストとしてまたはJSONとして応答ペイロードに返すことができます。

HTTP/1.1 200 OK 
Date: Wed, 19 Apr 2017 09:51:12 GMT 
Content-Type: text/plain 

xxxxx.yyyyy.zzzzz 
HTTP/1.1 200 OK 
Date: Wed, 19 Apr 2017 09:51:12 GMT 
Content-Type: application/json 

{ "token" : "xxxxx.yyyyy.zzzzz" } 

クライアントとサーバーの間の通信に留意しておく必要があるのは、メッセージが改ざんされないように、HTTPS経由で行う必要があります。


、クライアントがサーバにトークンを送信するとき、それは(再びHTTPS経由)Authorizationヘッダーで送信する必要があります:

GET /api/greetings HTTP/1.1 
Host: example.org 
Authorization: Bearer xxxxx.yyyyy.zzzzz 

Authorizationヘッダが資格情報を運ぶことになっている 。また、トークンに基づいた認証スキーマについて言えば、トークンは資格情報で、よく接頭語はBearerで、これは認証スキーマを示します。

Authorizationヘッダが要求でなく、応答で使用されるように設計されていることを言及する価値があります。

+1

恐ろしいおかげで – Edmund

関連する問題