MySQL で JWT の中身を確認する
MySQL で JSON Web Token (JWT) をデコードして表示してくれるプラグインを作りました。
こんな風に使えます。
> SET @token = 'eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vZXhhbXBsZS5jb20iLCJzdWIiOiIxMjM0NTY3ODkwIiwiYXVkIjoiaHR0cDovL2FwcC5leGFtcGxlLmNvbSIsImV4cCI6MTQyNDQzNzQ5MSwiaWF0IjoxNDI0NDM2NTkxLCJqdGkiOiIxMjM0NTY3ODkwIn0.V0SEo1Y1kurWp2bSYU9gEQ2K9nweII_RNIlYEBRHdWY'; > SELECT decode_jwt(@token)\G *************************** 1. row *************************** decode_jwt(@token): {"iss":"http://example.com","sub":"1234567890","aud":"http://app.example.com","exp":1424437491,"iat":1424436591,"jti":"1234567890"} 1 row in set (0.00 sec)
decode_jwt()
の第二引数に claim を指定することもできます。
> SELECT decode_jwt(@token, 'iss'); +---------------------------+ | decode_jwt(@token, 'iss') | +---------------------------+ | http://example.com | +---------------------------+ 1 row in set (0.00 sec) > SELECT FROM_UNIXTIME(decode_jwt(@token, 'exp')); +------------------------------------------+ | FROM_UNIXTIME(decode_jwt(@token, 'exp')) | +------------------------------------------+ | 2015-02-20 22:04:51 | +------------------------------------------+ 1 row in set (0.00 sec)
DB に格納されてる JWT の中身をささっと見たい時に便利かなと思うので、是非使ってみてください。