我的基础设施如下:
- 我有一个使用Azure B2C身份验证的后端Web API(分别通过JWT令牌)
- 我有一个在Next.js上编写的前端应用程序,它使用NextAuth.js来管理身份验证。
一切看起来都很好-我可以在前端使用注册的身份提供程序对用户进行身份验证,但是...我需要使用Azure B2C的访问令牌调用后端,以便对我的请求进行身份验证。
管理此访问令牌的正确方法是什么?我找不到任何有关是否应该自己生成它的信息,或者有某种机制可以简化这一切?
我还想讨论另一个问题-NextAuth.js是适合我的用例的库吗?我的意思是,@azure/msal-react
有更多的文档和示例,它专门研究这个问题,所以它是更好的选择吗?
2条答案
按热度按时间lvjbypge1#
NextAuth.js是一个很好的库。
您可以将AzureB2C为登录用户提供的
accessToken
放入NextAuth.js配置中jwt
回调的会话JWT中。请在此处查看有关此用例的文档:https://next-auth.js.org/configuration/callbacks#jwt-callback查看另一个实际应用示例:https://github.com/nextauthjs/next-auth-refresh-token-example/blob/57f84dbc50f30233d4ee389c7239212858ecae14/pages/api/auth/%5B...nextauth%5D.js#L67
在会话JWT中有了令牌之后,就可以使用Next.js API路由中的
getToken()
方法,例如,检索令牌并使用它进行调用等。dtcbnfnu2#
看看这家伙的博客,很有教育意义,他也用同样的东西和你交流。https://benjaminwfox.com/blog/tech/how-to-configure-azure-b2c-with-nextjs
虽然你应该考虑这是一个旧版本。