跳到主要内容

5. 使用 App 间 URI 通信进行 OAuth (Using Inter-App URI Communication for OAuth)

正如在 web 上 OAuth 2.0 [RFC6749] 使用 URIs 发起 authorization request 并将 authorization response 返回给请求网站一样, native apps 也可以使用 URIs 在设备 browser 中发起 authorization request, 并将 response 返回给发起请求的 native app.

通过采用 web 上用于 OAuth 的相同方法, native app context 也能获得 web context 中的好处, 例如 single sign-on session 的可用性以及独立 authentication context 的安全性. 复用相同方法还通过依赖基于标准且不特定于某个平台的 web flows, 降低实现复杂度并提高互操作性.

为符合此最佳实践, native apps MUST 使用 external user-agent 执行 OAuth authorization requests. 这是通过在 browser 中打开 authorization request (详见第 6 节), 并使用会将 authorization response 返回给 native app 的 redirect URI (定义于第 7 节) 来实现的.