我一直在搞弄MSAL,以前曾使用ADAL来在AAD中进行注册和安全的API调用
我有一个用户案例,现在需要注册并登录,但莫名其妙的MSAL-即使有一种返回用户名的方法-目前也无法通过B2C令牌向您返回有关用户的任何信息
该解决方法似乎太可怕了,因此我正在考虑放弃MSAL并返回ADAL或其他方式(如果还提供“注册”或“登录”功能
有人可以推荐我使用ADAL或其他方法直接在AAD中实现注册的库或方法吗?
答案 0 :(得分:1)
当前无法向您返回有关用户的任何信息 B2C令牌
ADAL支持v1端点。B2C使用v2端点,而MSAL设计为支持v2,因此您不能将ADAL用于B2C注册。如果要获取令牌中的用户信息,建议您使用OpenId Connect。在OpenId Connect中,id_token包含用户信息。
您可以使用jwt.io来解析id_token,并且可以在id_token中找到用户名:
有关B2C中的OpenId Connect的详细信息,请阅读here。
答案 1 :(得分:0)
ADAL和MSAL不兼容
MSAL不支持Graph
OpenID Connect需要授权码,因此不适用于工作流程
我发现的答案是将ADAL安装到我的API中,然后当用户登录应用程序时,将令牌中的GUID安全地发送到API,然后可以与Graph通信并返回用户个人资料信息