小编Bri*_*ian的帖子

多租户Azure移动应用程序服务调用因401.71而失败

作为前言,我是Azure编程和Azure AD身份验证的新手,我一直在关注我在各个站点(包括MS)找到的教程,以便让我走到这一步.我正在使用Xcode v7.2,适用于iOS v1.2.4的ADAL,Visual Studio 2015 Update 1和Azure App Service Tools v2.8.1.

我有一个现有的原生iOS应用程序,我需要能够通过身份验证多个Azure Active Directory实例用户.这些用户是内部和外部(注册我们服务的客户).为此,我实验性地实现了以下高级架构:

Native Client App(iOS/obj-c) - > ADAL iOS库 - >(Azure AD身份验证) - > Azure Mobile App(服务层)

iOS应用程序利用ADAL iOS库获取访问令牌,该令牌用于调用Azure Mobile App项目中的授权Web API服务.

我能够对来自两个租户(内部Azure AD和外部Azure AD)的用户进行身份验证,但只有与服务(内部)相同的租户中的用户才能调用经过身份验证的API.我从外部租户使用的测试用户帐户被设置为全局管理员,并在进行身份验证时在本机应用程序中显示相应的同意视图.然后,我可以点击同意,然后我会收到一个访问令牌.然而,当使用该令牌调用测试API时,我得到了401.服务器上Azure Mobile App的详细日志显示以下消息(以下所有URL都是https,我只是没有代表发布它们):

2016-01-12T13:00:55  PID[7972] Verbose     Received request: GET MyAzureMobileApp.azurewebsites.net/api/values
2016-01-12T13:00:55  PID[7972] Verbose     Downloading OpenID configuration from sts.windows.net/<internal AD GUID>/.well-known/openid-configuration
2016-01-12T13:00:55  PID[7972] Verbose     Downloading OpenID issuer keys from login.windows.net/common/discovery/keys
2016-01-12T13:00:56  PID[7972] Warning     JWT validation failed: IDX10205: Issuer validation failed. Issuer: 'sts.windows.net/<external AD GUID>/'. …
Run Code Online (Sandbox Code Playgroud)

azure azure-mobile-services azure-active-directory adal

5
推荐指数
1
解决办法
1042
查看次数