JWTアクセストークンをデコードする – 【Auth0】

JWTアクセストークンをデコードする – 【Auth0】

jwt.ioでデコードできますがプログラムでデコードしてみます。

node.js v18

$ npm init -y
$ npm i jsonwebtoken
$ touch index.js

index.js

const jwt = require('jsonwebtoken');

const accessToken = 'eyJhbGc...'; // アクセストークン
const decoded = jwt.decode(accessToken, { complete: true });
console.log(decoded);

出力結果です。

{
  header: { alg: 'RS256', typ: 'JWT', kid: 'bAx8XXCW8biXz3wkj5JIL' },
  payload: {
  ...
  ...
  signature: 'emOPc5UewyEJK-ySi9Iv-77U2PF_Kw7WavVHv7i0xy0oFTHqxS3by_JKVaEG0ee1R1aiegb_TjkC1BTeACDXhA1M7-KkAZgJelgKzgE9qX3l0eNDmEzwfvDgUQFim5ufbjPRtGskJInI6KOxX1BU0OzOoqrZbA0KZk7OM-tkGAkS9Cru07YiKxKlNISv1AAgnsG5G4Ij_RNApr5gOcHw0R0GG2HSZyKl7um9sdbSDlr2dwwxvQQqM9OYWqOMUgO53MLznRcNqzFq1kDzU62oIdaiTI_b75ld9GSph4f--AAfIV4urUx0onbjtQSwB7rH9JDJYQ3I3-p8QAR2TONbe-_Q'
}

header.kidはPEMエンコードされた公開鍵を取得する際に必要になります。

Java

java-jwtでトークンをデコードします。

build.gradle

implementation 'com.auth0:java-jwt:4.4.0'

javaソースです。

import com.auth0.jwt.interfaces.DecodedJWT;
import com.auth0.jwt.JWT;
...
DecodedJWT jwt = JWT.decode("eyJhbGc..."); // アクセストークン
System.out.println(jwt.getAlgorithm());
System.out.println(jwt.getClaims());
System.out.println(jwt.getType());
System.out.println(jwt.getHeaderClaim("alg"));
System.out.println(jwt.getHeaderClaim("typ"));
System.out.println(jwt.getHeaderClaim("kid"));
System.out.println(jwt.getSignature());

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました