Xamarin 从Azure AD v2移动应用程序验证Azure AD v1 WebAPI

Xamarin 从Azure AD v2移动应用程序验证Azure AD v1 WebAPI,xamarin,asp.net-web-api,azure-active-directory,adal,msal,Xamarin,Asp.net Web Api,Azure Active Directory,Adal,Msal,我们有一个Xamarin forms移动应用程序,其中用户通过AAD v2端点MSAL-Microsoft.Identity.Client进行身份验证,还有一个ASP.NET Web API应用程序,其中相同的用户通过AAD v1端点ADAL-Microsoft.IdentityModel.Clients.ActiveDirectory进行身份验证 我们希望在移动应用程序的Web API中验证REST调用。我们已尝试传递v2身份验证令牌,但将InvalidAuthenticationToken返

我们有一个Xamarin forms移动应用程序,其中用户通过AAD v2端点MSAL-Microsoft.Identity.Client进行身份验证,还有一个ASP.NET Web API应用程序,其中相同的用户通过AAD v1端点ADAL-Microsoft.IdentityModel.Clients.ActiveDirectory进行身份验证

我们希望在移动应用程序的Web API中验证REST调用。我们已尝试传递v2身份验证令牌,但将InvalidAuthenticationToken返回给我们

首先,我不确定这是否真的可能。说它还没有被实施,但是现在还不能确定它是否可行。如果做不到这一点,有没有其他办法让它发挥作用

谢谢

背景 这应该是可能的。随着最近的变化,v1或v2客户端应用程序不再存在差异,而是针对目标受众,例如仅我的租户、所有租户、Azure AD+MSA以及他们请求访问的API

快速示例 撇开这一点不谈,仍然存在令牌版本的概念。但是,令牌的版本是API的版本,而不是客户端应用程序的版本。比如说,

客户端A:目标Azure AD仅正式映射到v1应用程序

客户端B:目标Azure AD+MSA将正式映射到v2应用程序

API:正式接受Azure AD+MSA将映射到v2应用程序

在这种情况下,发给客户端A和客户端B的访问令牌将是API-v2.0令牌所理解的格式

结论
在您的情况下,您可以根据希望允许访问的用户类型注册每个客户机,但最终您的API将表示发出的令牌类型

如果您没有看到我描述的行为或不想连接,则我的电子邮件位于我的stackoverflow配置文件中。丹尼尔·多巴利安,这是个好消息。我也很欣赏你快速有效的例子的简单性。如果有任何正式的MS文档或博客,您可以推荐阅读并尝试更多关于此主题的内容,请这样做。