【发布时间】:2021-05-30 07:27:00
【问题描述】:
我正在使用 auth0 和 nextJS。
我接下来要做的是:当用户添加他的凭据并登录时,他将被重定向到callback API。
这里
import auth0 from '../../utils/auth0';
export default async function callback(req, res) {
try {
await auth0.handleCallback(req, res, {
redirectTo: '/'
});
} catch (error) {
console.error(error);
res.status(error.status || 400).end(error.message);
}
}
我想根据令牌重定向用户。
如果应用程序是简单的用户或管理员,我会解码令牌。
如果他是管理员,如果不是用户页面,他应该被重定向到管理页面。
所以我做了这样的事情:
import auth0 from '../../utils/auth0';
export default async function callback(req, res) {
const tokenCache = auth0.tokenCache(req, res);
const { accessToken } = await tokenCache.getAccessToken();
console.log(accessToken)
try {
await auth0.handleCallback(req, res, { redirectTo: '/' });
} catch (error) {
console.error(error);
res.status(error.status || 400).end(error.message);
}
}
所以我想在这个函数中获取令牌,以便能够在不同页面上重定向用户,但是如果我想在这里获取令牌,我会遇到问题:
用户没有有效的会话。
如果我删除与用户被重定向的令牌相关的代码,但我需要在此处获取令牌才能对用户进行检查。
如何在callback 函数中获取令牌并实现我上面描述的内容?
【问题讨论】:
-
您是否检查过 NextJS GitHub 存储库中的 auth0 示例? github.com/vercel/next.js/tree/canary/examples/auth0
标签: javascript reactjs next.js auth0