Azure AD v2.0 使用令牌进行 MobileApp 身份验证

Azure AD v2.0 using the token for MobileApp authentication

我得到了一个 Xamarin Form 2.4 项目,该项目使用 Azure AD v2.0 端点进行身份验证。 Xamarin 的登录部分运行良好。但是我可以找到使用接收到的令牌将其传递给 Azure MobilApp 以使用一些数据的正确方法吗? 现在登录发生在 Xamarin 项目中,如:

ar = await App.PCA.AcquireTokenAsync(App.Scopes, App.UiParent);

然后我可以使用 ar.AccessToken 调用 Graph v1.0 来获取一些用户信息。我如何为 Azure AppService 做同样的事情?

我读了这个:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-devquickstarts-webapp-webapi-dotnet

但我认为这更适用于在 v2.0 端点上进行身份验证的 Azure 门户中的网站项目。在我的例子中,用户已经通过身份验证。 我想我需要在我的 AzurePortal->AppService->Authentication/Authorization->AD Provider->Advanced 中配置身份验证。但我不知道在 IssuerURL 和 AllowedTokenAudience 中输入什么与我 app.dev.mocrosoft.com(AD v2.0 端点)中的信息... 然后,我可以将我的 AppService 的身份验证设置为开,并将请求未通过身份验证时执行的操作设置为:使用 Azure AD 登录??

我在想: 1- 使用 AcquireTokenAsync 登录到 Azure AD 2.0 门户 2- 在我的 AppService 中调用服务时,将令牌 "Login" 用于我的 AppService 或在请求 header 中使用它 3- 消耗 data/service

有什么建议吗? 谢谢,

Azure AD v2.0 端点此时只能获取 Microsoft Graph 的令牌,因此它可能不是你想要使用的,除非你希望 Azure 移动应用程序尝试调用图。

如果您确实发现需要调用不同的 API,您使用的库 (MSAL) 也需要更改为 (ADAL .NET), and you will need to reregister your app on the Azure portal

如果您的目标是以编程方式部署 Azure 应用服务部署,那么我建议使用 Azure Resource Manager which is the service to manage the various Azure resources. To do this, you may need to change your auth model to the Azure AD v1.0 endpoint

我还会添加一个 link to Azure App Services 如果我误解了您的问题,它可能会有所帮助。