Azure AD-不使用B2C进行注册

时间:2018-11-07 12:36:34

标签: azure-active-directory adal msal

我一直在搞弄MSAL,以前曾使用ADAL来在AAD中进行注册和安全的API调用

我有一个用户案例,现在需要注册并登录,但莫名其妙的MSAL-即使有一种返回用户名的方法-目前也无法通过B2C令牌向您返回有关用户的任何信息

该解决方法似乎太可怕了,因此我正在考虑放弃MSAL并返回ADAL或其他方式(如果还提供“注册”或“登录”功能

有人可以推荐我使用ADAL或其他方法直接在AAD中实现注册的库或方法吗?

2 个答案:

答案 0 :(得分:1)

  

当前无法向您返回有关用户的任何信息   B2C令牌

ADAL支持v1端点。B2C使用v2端点,而MSAL设计为支持v2,因此您不能将ADAL用于B2C注册。如果要获取令牌中的用户信息,建议您使用OpenId Connect。在OpenId Connect中,id_token包含用户信息。

您可以使用jwt.io来解析id_token,并且可以在id_token中找到用户名:

enter image description here

有关B2C中的OpenId Connect的详细信息,请阅读here

答案 1 :(得分:0)

ADAL和MSAL不兼容

MSAL不支持Graph

OpenID Connect需要授权码,因此不适用于工作流程

我发现的答案是将ADAL安装到我的API中,然后当用户登录应用程序时,将令牌中的GUID安全地发送到API,然后可以与Graph通信并返回用户个人资料信息