LoginSignup
34
23

More than 5 years have passed since last update.

Json Web Token作成方法

Last updated at Posted at 2017-03-04

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タイムを発行は下記のサイトが便利です。

5: JWT トークンの確認

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

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

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

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

以上でトークン作成手順は終了です。
これでサクッと認証しましょう!!

34
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
23