azure - MSAL idToken 没有 upn、个人资料或电子邮件数据?需要在 idToken 中进行 Passport-azure-ad 授权

标签 azure active-directory azure-ad-msal msal.js passport-azure-ad

我有一个使用官方 msal 包的 angular8 应用程序 (not the one for angular, the main one)在后端我授权使用 passport-azure-ad (official microsoft package)

我需要在 IdToken 中包含用户的电子邮件地址,因为我无法使用访问 token 的承载策略进行验证。我需要某种方式通过 UPN 或直接获取该电子邮件地址。

我已经在不同的 AD 组下尝试了 4 个不同的帐户,到目前为止,只有 1 个 AD 组实际上在 idToken 中显示了“电子邮件”或“upn”字段。

Permissions configured in the app screenshot.

登录请求的选项:

  private loginRequest: Msal.AuthenticationParameters = {
    scopes: ['user.read', 'email', 'profile', 'openid'],
    extraScopesToConsent: ['email']
  };

我已经尝试了我能想到的任何变体,我尝试让它们以大写字母(Email、User.Read)开头,就像屏幕截图中那样,我尝试过在范围和 extraScopesToConsent 之间交换它们,我尝试过将 ' upn' 任何地方但没有运气。

是否可以:

A:以某种方式在 token 中获取该数据 B:获取另一个 token ,我可以使用具有该数据的后端将其验证为“不记名 token ”?

最佳答案

我最终从前端发送了请求正文中的电子邮件,然后更新了我的护照策略以使用请求对象。

关于azure - MSAL idToken 没有 upn、个人资料或电子邮件数据?需要在 idToken 中进行 Passport-azure-ad 授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56462180/

相关文章:

java - Spring LDAP 搜索 "ObjectGUID"

asp.net-mvc - Windows Azure Active Directory 单点登录 - 用于登录错误的自定义错误页面

angular - 使用 MSAL 与 Angular 进行重定向_uri_mismatch Azure AD B2C

javascript - Microsoft 应用程序注册、身份验证和重定向 URL

azure - 当 sp 是在没有 App 和 Cred 的情况下独立创建时,如何获取与 AzureAD 中的服务主体关联的证书的指纹

azure - 无法在本地调试azure函数

azure - Azure Function 的 Host.json 中的 MaxBatchSize 不起作用

windows - 更新 AD 中的用户信息

ios - 在 Objective C 中注销用户 MSAL azure 库

azure - 如何使函数应用程序以读写模式运行