Edited at

Json Web Token作成方法

More than 1 year has passed since last update.


WHY

使った方が良い理由は下記で

Go 言語で JWT を使って認証と認可を低コストに


HOW

ここでは具体的な作成方法について記述します。(RS256の認証方式で作成します。)

1: Json WEB Tokensを下記で作成します。

スクリーンショット 2017-03-04 12.24.02.png

下記にアクセスします。

JSON WEB Tokens

ALGORITHMSで"RS256"を設定します。

2: 認証用に必要な鍵の作成

下記の方法でRS256方式の鍵を作成します。

ssh-keygen -t rsa -b 4096 -f jwtRS256.key

# Don't add passphrase
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub

private key

jwtRS256.key

public key

jwtRS256.key.pub

3: 鍵の設定と必要な値の設定

スクリーンショット 2017-03-04 12.35.55.png

下記の部分に先ほど作成したpublic keyを下記の部分にコピーします。

-----BEGIN PUBLIC KEY-----

-----END PUBLIC KEY-----

下記の部分に先ほど作成したprivate keyを下記の部分にコピーします。

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

4: JWTトークンに設定する値を下記で設定

ここでは認証用のトークンに含めたい情報を下記に追加します。

スクリーンショット 2017-03-04 12.41.01.png

よく設定する値が下記

apiのドメインを設定

"iss": "https://jwt-idp.example.com"

apiのサブドメインを設定

"sub": "mailto:mike@example.com"

JWTが有効になる日時を示す

"nbf": 1454503213(UNIXタイムで指定)

JWTが有効になる日時を示す

"exp": 1490667232(UNIXタイムで指定)

JWTを発行した時刻を示す

"iat": 1454503213(UNIXタイムで指定)

Unixタイムを発行は下記のサイトが便利です。

http://url-c.com/tc/

5: JWT トークンの確認

左側にJWTトークンができているので

スクリーンショット 2017-03-04 12.43.18.png

下記で正しくできているか確認します。

スクリーンショット 2017-03-04 12.43.32.png

以上でトークン作成手順は終了です。

これでサクッと認証しましょう!!