现在,我有一个原生的azure应用程序,我的iOS应用程序使用ADAL进行身份验证,没有任何问题 . 我在azure中添加了一个Web API,它由Azure API Management资源管理 . 我使用oAuth服务器使用Azure AD进行身份验证(所有这些都在Azure API管理中创建) .
我遇到的问题是我从我的iOS应用程序收到的oAuth令牌未被我的Web API接受 . 他们都将oAuth用于同一个Azure Active Directory . 我尝试更改我的iOS应用程序,以使用Web API应用程序客户端ID而不是本机应用程序客户端ID . 然后问题变成在身份验证期间,它需要请求中的“client_secret” . 看看ADAL iOS库,我没有看到一种方法来获取作为参数传递客户机密钥的令牌 .
1 回答
向下滚动到Keys部分,您将看到密钥作为客户端密钥 . 它们用于调用web api .
这两种验证应用程序的方法称为交互式(用户登录)和非交互式(app提供自己的凭据) . 在非交互模式下,您必须将服务主体分配给具有正确权限的角色 . 关于AAD身份验证的更多信息,您可以参考:https://azure.microsoft.com/en-gb/documentation/articles/resource-group-create-service-principal-portal/