【发布时间】:2018-08-13 14:20:49
【问题描述】:
这个问题和AppLinks assetlinks.json appears not to be used for validation几乎没有关系
我正在 Android 上实现 Oauth2 应用程序。我想做 SSO(单点登录),但我担心 AppLink 以保护 Autorization Code。
本机应用程序通过浏览器发起授权请求,然后接收包含授权码的授权响应。根据RFC6749#section-4.1.2,代码在URL内部传递:
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
授权码是一条敏感信息,因为它允许客户端获取访问令牌和刷新令牌,然后访问受保护的资源。
为了保护该代码,本机应用程序必须实现 https 方案重定向(RFC8252#section-7.2 和 section-8.1)。在 Android 上,必须使用assetlinks.json 文件来完成
但根据相关问题linked at the top,Android 上的应用链接似乎不是 100% 安全的,因为操作系统可能不会验证 https 方案。
在这种情况下,我们应该如何实现 Oauth2 授权代码挂钩?
编辑
根据@benjamin anwser 的说法,AppLink 不是为了安全。但是,相关的威胁用例如下:安装了恶意应用程序并使用“SSO Cookie”获取Auth Code 并将其交换为AT+RT。在我看来,这个过程中没有任何东西可以阻止这种情况:如果 applink 不是为了安全,授权服务器如何知道这个应用程序是恶意应用程序?
注意:我所说的 SSO-Cookie 是指使用 CustomTab 在 Android 上进行 SSO。
【问题讨论】:
标签: android oauth-2.0 deeplink nativeapplication android-customtabs