JWTアクセストークンのペイロードが空文字、encがA256GCMになる – 【Auth0】
vanillajsでSPAでチュートリアルしていたらログイン後のJWTアクセストークンのペイロードが空文字になっていました。
encがRS256のはずがA256GCM、ペイロードが空文字になってしまっています。
createAuth0Clientメソッドのコンストラクタでaudienceを指定してみました。
auth0Client = await auth0.createAuth0Client({ domain: config.domain, clientId: config.clientId }) ↓ auth0Client = await auth0.createAuth0Client({ domain: config.domain, clientId: config.clientId, authorizationParams: { audience: `https://${config.domain}/api/v2/`, // apiの識別子 redirect_uri: 'http://localhost:3000' // コールバックURLで設定したURL } })
await auth0Client.getTokenSilently()
で、正常なアクセストークンが取得できました。
※追記 PermissionはAPIによって定義されたものなので、ログイン後、getTokenSilently()の引数にaudienceとscope、redirect_urlなどを指定すれば正常なアクセストークンを取得することができます。
await auth0Client.getTokenSilently({ authorizationParams: { audience: `https://${config.domain}/api/v2/`, redirect_uri: 'http://localhost:3000' })
ログイン時のaudience未指定のアクセストークンは/userinfoの為だけのBearerトークンとなります。
ttps://auth0.com/docs/api/authentication#get-user-info
参考サイト
ttps://github.com/auth0/auth0-spa-js
ttps://zenn.dev/corocn/articles/374b8695da9411
ttps://community.auth0.com/t/jwt-token-is-invalid-signature/105796
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント