ADAL iOS 重定向 URI 必须是 http(s)?

Posted

技术标签:

【中文标题】ADAL iOS 重定向 URI 必须是 http(s)?【英文标题】:ADAL iOS Redirect URI must be http(s)? 【发布时间】:2016-09-20 19:02:01 【问题描述】:

我正在使用最新版本的 ADALios 库 (2.2.5) 让 ADAL auth 在我的 iOS 应用程序(Xcode 8,在 iOS 10 上运行)中工作,并已根据 documentation 配置了 authContext,但我收到以下错误:

AADSTS50011: Reply address 'x-msauth-<appname>://<app bundle id>/' 
specified by the request is not a valid URL. Allowed schemes: 'http, https'

此错误消息与 documentation 直接冲突,后者明确要求重定向 URI 是 iOS 应用 URL,而不是 Web URL:

重定向 URI

这增加了对重定向 URI 的额外要求。您的重定向 URI 必须采用正确的格式。

<app-scheme>://<your.bundle.id>
ex: x-msauth-mytestiosapp://com.microsoft.mytestiosapp

此重定向 URI 需要在应用门户上注册为有效的重定向 URI。此外,需要注册第二个“msauth”表单来处理 Azure Authenticator 中的证书身份验证。

msauth://code/<broker-redirect-uri-in-url-encoded-form>
ex: msauth://code/x-msauth-mytestiosapp%3A%2F%2Fcom.microsoft.mytestiosapp

Azure 门户中是否缺少允许非 HTTP 重定向 URL 的配置?这是 ADALiOS 库中的错误吗?

另外,编码的重定向 URI 需要在哪里注册?在 iOS 应用程序的 .plist 中?在 Azure 门户中?两者都有?

【问题讨论】:

【参考方案1】:

您必须尝试将应用程序注册为 Web 应用程序。您需要在目录中创建一个新应用程序作为 Native Client Application

【讨论】:

以上是关于ADAL iOS 重定向 URI 必须是 http(s)?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用程序上的无效重定向 URI Linkedin API

IOS 应用程序中的 instagram 集成中的“重定向 URI 与注册的重定向 URI 不匹配”

(iOS) Spotify 重定向 URI 错误:SpotifyLogin.LoginError.invalidUrl

Spotify ios SDK 登录:无效的重定向 URI

Eventbrite 重定向 URI iOS OAuthSwift

当提供者不支持自定义 URI 方案时如何重定向到 iOS