我在后端有一个使用官方msal包(not the one for angular, the main one)的angular8应用程序,我正在使用passport-azure-ad (official microsoft package)授权
我需要在IdToken中有用户的电子邮件地址,因为我不能验证与访问令牌的持有者策略。我需要一些方法来通过UPN或直接获得那个电子邮件地址。
我已经在不同的AD组下尝试了4个不同的帐户,到目前为止只有1个AD组在idToken中实际显示了'email‘或'upn’字段。
Permissions configured in the app screenshot.
登录请求的选项:
private loginRequest: Msal.AuthenticationParameters = {
scopes: ['user.read', 'email', 'profile', 'openid'],
extraScopesToConsent: ['email']
};我试过我能想到的任何变体,我试着让它们从大写的leters (电子邮件,User.Read)开始,就像截图中的那样,我试着在scopes和extraScopesToConsent之间交换它们,我试着把'upn‘放在任何地方,但都没有成功。
是否有可能:
A:以某种方式在令牌中获取数据B:获取另一个令牌,我可以使用具有该数据的后端验证为“不记名令牌”?
发布于 2019-10-18 22:44:15
我最终从前端发送了请求正文中的电子邮件,然后更新了我的passport策略以使用request对象。
https://stackoverflow.com/questions/56462180
复制相似问题