2017-10-19 238 views
2

我得到了一个Xamarin Form 2.4项目,该用户使用Azure AD v2.0端点进行身份验证。来自Xamarin的登录部分工作良好。但是我可以找到使用收到的令牌的正确方式将它传递给Azure MobilApp以消费一些数据? 现在登录在Xamarin项目出现,如:使用令牌进行MobileApp身份验证的Azure AD v2.0

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

那么我可以用ar.AccessToken调用图形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 VS在我app.dev.mocrosoft.com(公元V2.0端点)的信息...... 然后,我可以在我的AppService服务的身份验证设置,并设置采取行动当请求未通过身份验证时:使用Azure AD登录?

我在想: 1-日志与AcquireTokenAsync天青AD 2.0门户 2 - 使用标记为“登陆​​”我的AppService服务或在我AppService服务调用服务时使用它在请求头 3-消费数据/服务

有什么建议吗? 谢谢,

回答

0

Azure AD v2.0端点目前只能获取Microsoft Graph的令牌,因此它可能不是您想要的,除非您希望Azure Mobile App正在尝试调用图表。

如果您发现需要调用不同的API,则您使用的库(MSAL)也将需要更改为(ADAL .NET),并且您需要在Azure portal上重新注册您的应用程序。

如果你的目标是通过编程部署Azure的应用服务部署,那么我建议使用Azure Resource Manager这是管理各种资源Azure的服务。为此,您可能需要将您的验证模型更改为Azure AD v1.0 endpoint

我还会掉落link to Azure App Services如果我误解了你的问题,可以帮助。

+0

感谢您的回答!我想我使用的是AD v2.0,因为我遵循Xamarin.Forms和身份验证的程序,我一直在想这就是实现它的方法。我的应用程序将使用Azure AppService,脱机DB,通知并且不使用Microsoft帐户(仅限公司AD帐户)。因此最终不需要v2.0端点。我想我会尝试找到正确的方式给用户AD v1.0和AzurePortal在Xamarin.Forms 2.4 –

+0

我想我开始使用,因为Microsoft.Identity.Client和PCA.AcquireTokenAsync或简单的AD V2.0 AcquireSilentTokenAsync和“web登录AD窗口”。什么是AD v1.0的等效库? –

+0

@Pierre等效库是[ADAL](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/)。您可以在[Azure AD开发者页面](https://aka.ms/aaddev)中找到有关使用ADAL的更多文档/示例。 –

相关问题