2016-11-07 9 views
0

自分のサイト用のREST APIを設計します。私は適切なJSON-APIに関する情報を読んでいます。そして今、バージョンを起草のように見えるです:JWTをbase64文字列としてJSONに配置する必要がありますか?

{ 
"data": 
    { 
    //data that I will send 
    }, 
"errors":"", 
"meta": 
    { 
    "token": // auth info for ever request 
     { 
     // JWT token here 
     } 
    } 
} 

しかし、私は次のようにbase64文字列としてJWT・トークンを置く必要があり、私は理解することはできません。 "token" : "base64encodedstring"

または私は「トークン」にネストされたオブジェクトとしてJWTを置く必要がありますか?

また、私は質問がある。一度設計されたJSON-APIをどこでも使用するのが良い方法であることを正しく理解していますか?

+0

トークンを作成(署名)すると、それはすでに 'Base64Url'でエンコードされた文字列、つまり2つから3つの' Base64Url'でエンコードされた文字列(あなたが署名したかどうか)を連結した文字列です。このような(トリミングされた) 'eyJhbGci [...]。eyJzdW [...] .TJVA [...]'のように見えます。あなたがそれを使って認証したいときは、一般的に基本認証要求: 'Authorization:Bearer 'を送り、あなたのサーバはその署名を比較することによってトークンの真正性をチェックする責任があります。だから、このコード化された文字列を使うべきです。 2番目の質問:短い答え - はいより理にかなっています。 –

答えて

0

JWTがコンパクトなシリアル化形式(3つまたは5つの部分がドットで区切られている)であれば、同じJSON(別のdataセクションがauth、データ交換などに使用されます)を意味します。それをコード化する。 そうでない場合、フラット化された形式または一般的なシリアル化形式(JSONオブジェクト)であれば、それをエンコードする必要があります。

関連する問題