Azure active directory Outlook加载项SSO访问令牌缺少电子邮件声明

Azure active directory Outlook加载项SSO访问令牌缺少电子邮件声明,azure-active-directory,microsoft-graph-api,outlook-addin,office-addins,Azure Active Directory,Microsoft Graph Api,Outlook Addin,Office Addins,我正在创建outlook加载项,并尝试使用SSO访问令牌作为后端的授权 我的流程正在运行。我触发我的外接程序,获取访问令牌并使用访问令牌“登录”到我的后端 但是,我的问题是,尽管a)将其添加到Azure应用程序注册中的API权限中,b)添加到WebApplicationInfo中,但我没有在令牌中获得电子邮件声明。我应该收到它吗 Azure应用程序注册权限 Web应用程序信息 <WebApplicationInfo> <Id>xxx</Id>

我正在创建outlook加载项,并尝试使用SSO访问令牌作为后端的授权

我的流程正在运行。我触发我的外接程序,获取访问令牌并使用访问令牌“登录”到我的后端

但是,我的问题是,尽管a)将其添加到Azure应用程序注册中的API权限中,b)添加到WebApplicationInfo中,但我没有在令牌中获得电子邮件声明。我应该收到它吗

Azure应用程序注册权限

Web应用程序信息

<WebApplicationInfo>
    <Id>xxx</Id>
    <Resource>api://localhost:3000/xxx</Resource>
    <Scopes>
        <Scope>openid</Scope>
        <Scope>User.Read</Scope>
        <Scope>profile</Scope>
        <Scope>email</Scope>
    </Scopes>
</WebApplicationInfo>

虽然我知道upn和unique_名称声明中返回了电子邮件地址,并且我知道oid应该用作此用户的唯一标识符,但是,我需要根据电子邮件地址进行查找(如果存在).

您需要自定义访问令牌配置,然后将电子邮件添加为可选声明。转到azure门户>应用注册>你的应用>令牌配置

解析令牌:

您需要注意:对于托管用户(租户内部的用户),必须通过此可选声明或仅在v2.0上使用OpenID范围请求。


请参阅:.

电子邮件值是的一部分。如果用户是租户中的来宾,则默认情况下会包含该值。对于托管用户(它意味着租户内的用户),必须通过此可选声明或仅在v2.0上使用OpenID范围请求。对于托管用户,必须在Office admin portal()中设置电子邮件地址。

电子邮件值是可选声明的一部分。如果用户是租户中的来宾,则默认情况下会包含该值。对于托管用户(它意味着租户内的用户),必须通过此可选声明或仅在v2.0上使用OpenID范围请求。对于托管用户,必须在Office admin portal()中设置电子邮件地址。您有机会研究我的答案吗?这对你有帮助吗?
{
  "aud": "api://localhost:3000/xxx",
  "iss": "https://sts.windows.net/my_tenant_id/",
  "iat": 1605992211,
  "nbf": 1605992211,
  "exp": 1605999711,
  "acr": "1",
  "aio": "E2RgYDDdzii4P/xP/cPTbg4lPk7dJ6c8aQnapLU19aiV+Zy400sA",
  "amr": [
    "pwd"
  ],
  "appid": "xxx",
  "appidacr": "0",
  "family_name": "Adams",
  "given_name": "Iain",
  "ipaddr": "51.111.111.111",
  "name": "Iain Adams",
  "oid": "my_oid",
  "pwd_exp": "157262",
  "pwd_url": "https://portal.microsoftonline.com/ChangePassword.aspx",
  "rh": "0.AAAAmj9NLsNP80SAITLYeWEJg9YOWdOzUgJBrv-q0ikqsBxHANs.",
  "scp": "access_as_user",
  "sub": "my_sub",
  "tid": "my_tenant",
  "unique_name": "iain@abc.com",
  "upn": "iain@abc.com",
  "uti": "1KNbNttkDUCrKXblaK5BAA",
  "ver": "1.0"
}