我一直在試圖解決這個問題好幾天。 我遵循Auth0文檔中的教程。解碼令牌不會給用戶配置文件
令牌與快遞,智威湯遜解碼後:
export let headerJWTCheck = expressJwt({
secret: '*************************',
audience: '******************************'
});
req.user的內容不具有該配置文件,我需要在API中的角色限制的作用。
相反的內容形式:
{ iss: 'https://******.eu.auth0.com/',
sub: 'google-oauth2|***********************',
aud: '********************',
exp: **************,
iat: **************}
在前端,我已經得到我需要的用戶資料信息,但我不能超出進步。
我用一個函數來restric角色:
export function requireRole(role: string) {
return function (req, res, next) {
console.log(req.user);
var appMetadata = req.user.profile._json.app_metadata || {};
var roles = appMetadata.roles || [];
if (roles.indexOf(role) != -1) {
next();
} else {
res.redirect('/unauthorized');
}
}
但req.user.profile永遠是不確定的。
在主Express應用程序的定義,我有:
app.use(cookieParser());
app.use(session({
.................
}));
configurePassport();
app.use(passport.initialize());
app.use(passport.session());
謝謝你讓我朝着正確的方向前進。 :) –