Auth0ダッシュボードから、「Rules」→「Add email to access token」を選択
そのままでOK。これでaccessTokenにemailが含まれる。
Nest.jsとpassport-jwtを使用してるので、payloadから取得できる。
jsvalidate(payload: unknown): unknown { console.log("payload", payload.user); return payload; }
Controllerの場合は、
js@UseGuards(AuthGuard('jwt')) @Get('private') async private(@Request() req) { return { message: '✅ Private API Test!', payload: req.user }; }
bash{"message":"✅ Private API Test!","payload":{"https://example.com/email":"xxx@gmail.com","iss":"https://xxx.jp.auth0.com/","sub":"google-oauth2|xxx","aud":["http://localhost:8080","https://xxx.jp.auth0.com/userinfo"],"iat":xxx,"exp":xxx,"azp":"xxxx","scope":"openid profile email"}}
How can Node (express) API lookup email address from token? - Auth0 Community