我在Azure中创建了一个用于我的XF应用程序的移动应用程序,这已经在我的AAD中创建了一个应用程序,我现在正在阅读以下内容,尝试将我的XF应用程序授权给我创建的Azure应用程序
和这个
这告诉我创建一个类型为native的新应用程序让我有点困惑这是否意味着我需要在Azure中使用2个应用程序?一个用于后端,一个用于Mobile身份验证?在Azure的移动应用程序部分中使用配置选项时,找到一个能够正确描述这一点的直接文档似乎非常困难。
任何指针都会非常有用
答案 0 :(得分:3)
Azure AD中需要两个应用程序。
然后,您的原生应用应该需要获得调用API的权限。所以将其添加到所需的权限。
您还可以将本机应用程序添加为API的已知客户端。
这可以通过在Azure AD中找到API的应用程序,单击Manifest,然后在那里添加本机应用程序的应用程序ID /客户端ID 来完成,以便knownClientApplications
属性看起来像这样:
"knownClientApplications":[
"your-native-app-client-id"
]
这样做的目的是,现在当用户登录时,他们可以同时同意这两个应用程序。
然后,您的原生应用应使用ADAL获取API的访问令牌。 您当然也可以从本机应用程序调用其他API,例如MS Graph API。
您可以在此处找到示例应用:https://github.com/Azure-Samples/active-directory-dotnet-native-multitarget。
重要的一行是here:
authResult = await authContext.AcquireTokenAsync(graphResourceUri, clientId, returnUri, parent);
资源URI很重要。它向AAD指定要调用的API。对于Azure AD Graph API,它为https://graph.windows.net
。在MS Graph API的情况下,它是https://graph.microsoft.com
。对于后端API,您可以使用API应用程序属性中的Application Id / Client Id或Application ID URI。
通话中的客户端ID当然应该是您原生应用的应用ID /客户端ID。
您可以查看自述文件的自述文件,了解如何注册本机应用程序。