Azure active directory Azure广告-不使用B2C注册

Azure active directory Azure广告-不使用B2C注册,azure-active-directory,adal,msal,Azure Active Directory,Adal,Msal,我以前在AAD中使用ADAL进行注册和安全API调用,现在正在与MSAL打交道 我现在有一个用户案例需要注册和登录,但令人困惑的是,MSAL(即使有返回用户名的方法)目前无法从B2C令牌返回任何关于用户的信息 解决方案似乎设计得很糟糕,所以我正在考虑放弃MSAL,回到ADAL或其他提供注册或登录服务的地方 有谁能推荐我一个图书馆或方法实现注册直接进入AAD使用ADAL或其他请 当前无法从返回有关用户的任何信息 B2C代币 支持v1 endpoint.B2C使用v2 endpoint,并且设计用于

我以前在AAD中使用ADAL进行注册和安全API调用,现在正在与MSAL打交道

我现在有一个用户案例需要注册和登录,但令人困惑的是,MSAL(即使有返回用户名的方法)目前无法从B2C令牌返回任何关于用户的信息

解决方案似乎设计得很糟糕,所以我正在考虑放弃MSAL,回到ADAL或其他提供注册或登录服务的地方

有谁能推荐我一个图书馆或方法实现注册直接进入AAD使用ADAL或其他请

当前无法从返回有关用户的任何信息 B2C代币

支持v1 endpoint.B2C使用v2 endpoint,并且设计用于支持v2,因此您无法使用ADAL进行B2C注册。如果您想在令牌中获取用户信息,建议您使用OpenId连接。在OpenId连接中,id_令牌包含用户信息

您可以使用解析id_令牌,并且可以在id_令牌中找到用户名:


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

ADAL和MSAL不兼容

MSAL不支持图形

OpenID Connect需要授权代码,因此不适合工作流


我找到的答案是将ADAL安装到我的API中,然后当用户登录应用程序时,安全地将令牌中的GUID发送到API,然后API可以与图形通信并返回用户配置文件信息

谢谢。我确实找到了一个冗长的方法来做我想做的事情,但这意味着在我的应用程序中嵌入一个客户端秘密,令人惊讶的是,这是推荐的方法!不客气。以后如果有什么更新,请告诉我,谢谢@熟练工1234您是否将客户端密钥添加到您的应用程序代码中以检索承载令牌?@DeanB_develope-是的,感觉不对。但它是有效的。因此,我的用户使用MSAL进行身份验证并检索令牌。然后我调用AAD GraphAPI(这就是秘密的来源),返回一个与令牌的唯一ID匹配的用户。您是否尝试使用
this.authService.acquireTokenSilent(…)
?这将返回API无法使用的BearToken,并且不需要客户端密钥。使用客户机密码有利于
无需用户
或oAuth 2.0授权即可访问。但是,在本例中,您使用的是登录用户,OpenID Connect(this.authService.acquireTokenSilent)将起作用。我希望如此。