使用Azure AD生成自定义访问令牌

时间:2020-04-08 09:07:04

标签: node.js azure-active-directory authorization next.js azure-authentication

我正在尝试开发Next.js应用程序,用户可以在其中使用其天蓝色ID登录。之后,应该在我的Node.js后端中验证来自该令牌的电子邮件和其他详细信息,并且应该将自定义令牌发送到前端,以进行进一步的身份验证和授权。谁能帮助我使用哪些库,相同的流程应该是什么?我是Web应用程序开发的初学者,这是我第一次处理身份验证/授权方案。任何帮助,将不胜感激:)

1 个答案:

答案 0 :(得分:1)

电子邮件声明是可选声明,您可以参考documentation来获取电子邮件和其他可选声明。用户通过身份验证后,您可以通过<>。getAccount()。idTokenClaims.email来获取已登录用户的电子邮件声明,还可以从idTokenClaims属性中获取已登录用户的所有其他声明。 NPM软件包上有多个自定义JWT令牌生成器,您可以使用idTokenClaims的声明如下构建自定义令牌,并将其发送到前端。

const jwt = require('njwt')
  const claims = { iss: 'fun-with-jwts', sub: 'AzureDiamond' , mail : idTokenClaims.email , ...fill other claims that you need...}
  const token = jwt.create(claims, 'top-secret-phrase')
  token.setExpiration(new Date().getTime() + 60*1000)
  res.send(token.compact())

您可以从Microsoft找到适用于后端here的后端和前端应用程序的所有相关软件包