使用 Azure AD 生成自定义访问令牌
Generate custom access tokens using Azure AD
我正在尝试开发一个 Next.js 应用程序,用户可以在其中使用 his/her azure id 登录。之后,应在我的 Node.js 后端验证来自该令牌的电子邮件和其他详细信息,并且应将自定义令牌发送到前端以进行进一步的身份验证和授权。任何人都可以帮助我了解我应该使用哪些库以及相同的流程应该是什么?我是 Web 应用程序开发的初学者,这是我第一次处理 Authentication/Authorization 场景。任何帮助将不胜感激:)
电子邮件声明是可选声明,您可以参考此 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
我正在尝试开发一个 Next.js 应用程序,用户可以在其中使用 his/her azure id 登录。之后,应在我的 Node.js 后端验证来自该令牌的电子邮件和其他详细信息,并且应将自定义令牌发送到前端以进行进一步的身份验证和授权。任何人都可以帮助我了解我应该使用哪些库以及相同的流程应该是什么?我是 Web 应用程序开发的初学者,这是我第一次处理 Authentication/Authorization 场景。任何帮助将不胜感激:)
电子邮件声明是可选声明,您可以参考此 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