背景:我需要在Angular 6应用中集成azure活动目录单点登录。做得好。调用Azure身份验证服务后,我得到一个用户对象。
我正在使用adal-angular4 npm软件包来实现此目的 https://www.npmjs.com/package/adal-angular4
问题:现在,我需要在“用户”对象中接收一些其他字段,作为Azure身份验证的响应。为此,我研究了“自定义声明”主题。
尝试: 我尝试了与之相关的Microsoft文档,但没有成功。下一个 https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-saml-claims-customization
我需要在用户对象中获取“ samAccountName”作为身份验证Web调用的响应。我将此内容添加到了Azure门户的单点登录配置中,但仍未收到所提到的声明。 门户> Azure Active Directory(左侧)>企业应用程序> test_claims_new(我的应用程序)>单点登录> Saml
然后,以下是我的azure应用程序设置的屏幕截图。
以下是我执行身份验证的Angular代码
let config = {
clientId: '57789376-6453-47f8-90ad-c7b49ec4781a',
popUp: true,
postLogoutRedirectUri: window.location.origin + '/',
callback : (errorDesc, token, error, tokenType) =>
{
if(!error){
console.log("User: " , this.authContext._user);
}
}
};
this.authContext = new adalAuthContext(config);
以下是我通过整个代码和配置得到的响应(用户对象):
预期结果:
上面的天蓝色设置屏幕快照中提到的名为user.onpremisesamaccountname
的属性之一应该出现在我的用户对象中,但我没有得到。