我们有一个Xamarin forms移动应用程序,其中用户通过AAD v2端点(MSAL - Microsoft.Identity.Client)进行身份验证;还有一个ASP.NET Web API应用程序,其中相同的用户由AAD v1端点(ADAL -v1)进行身份验证
我们希望在移动应用程序的Web API中对REST调用进行身份验证。我们已经尝试过传递v2身份验证令牌,但是得到了返回给我们的InvalidAuthenticationToken。
首先,我不确定这是否真的可行。This MS presentation from 2017说它还没有实现,但现在还不能确定它是否可能。如果做不到这一点,有没有其他方法可以让它工作呢?
谢谢
发布于 2018-10-29 18:57:44
背景
这应该是可能的。随着最近的变化,不再有v1
或v2
客户端应用程序的区别,而是他们请求访问的API的目标“受众”(例如,我的租户,所有租户,Azure AD + MSA)。
快速示例
抛开这一点不谈,仍然存在令牌版本的概念。但是,令牌的版本是API的版本,而不是客户端应用程序的版本。例如,
客户端A:仅针对Azure AD (正式映射到v1
应用程序)
客户端B:目标Azure AD + MSA (正式映射到v2
应用程序)
API:接受Azure AD + MSA (正式映射到v2 app
)
在这种情况下,颁发给客户端A和客户端B的访问令牌将是API- v2.0令牌能够理解的格式。
结论
在您的示例中,您可以根据您希望允许访问的用户类型来注册每个客户端,但最终您的API将表示所颁发的令牌类型。
https://stackoverflow.com/questions/53021245
复制相似问题