Azure AD B2C - 电子邮件声明失败,空值

时间:2017-12-11 18:00:31

标签: azure azure-ad-b2c

我在Azure AD B2C中使用自定义策略来指定自定义提供程序(在本例中为GitHub OAuth)。如果电子邮件声明包含类似于" email":null的内容,则电子邮件声明会在Azure AD B2C中引发内部服务器错误。我验证了这是使用App Insights跟踪日志的值,其中包含来自GitHub的完整OAuth响应。但是,它总是在自我断言的步骤上失败。

以下是跟踪日志的摘录:

"GitHub-OAUTH": {
    "ContentType": "Json",
    "Created": "2018-01-05T01:33:49.5316319Z",
    "Key": "GitHub-OAUTH",
    "Persistent": true,
    "Value": "{\"id\":1234,<snip>\"email\":null,<snip>,\"{oauth2:access_token}\":\"mytoken\"};2;GitHub-OAUTH;False"
},
"Complex-CLMS": {
    "gitHubUserId": "1234",
    "displayName": "My Name",
    "githubEmail": "Null",
    "identityProvider": "github.com",
    "authenticationSource": "socialIdpAuthentication",
    "upnUserName": "1234",
    "userPrincipalName": "cpim_1234@apollohackfest.onmicrosoft.com",
    "socialIdpUserId": "1234",
    "alternativeSecurityId": "{\"type\":6,\"identityProvider\":\"github.com\",\"key\":\"abcdefg=\"}"
}

如果电子邮件地址是电子邮件:&#34; myemail@site.com",则登录正常。或者,如果OAUTH提供程序根本没有返回电子邮件字段,它也可以正常工作。这只会在电子邮件的情况下中断:null。

当提供商提供空结果时,我不希望存在内部服务器错误。当发生这种情况时,是否有可用于删除电子邮件声明的声明转换?

0 个答案:

没有答案