该问题与 AppLinks 几乎没有关系,assetlinks.json 似乎不用于验证
我正在 Android 上实现 Oauth2 应用程序。我想做 SSO(单点登录),我担心 AppLink 以保护 Autorization 代码。
原生应用通过浏览器发起授权请求,然后接收包含授权码的授权响应。根据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 文件来完成
但根据顶部链接的相关问题,Android 上的应用链接似乎不是 100% 安全的,因为操作系统可能不会验证 https 方案。
在这种情况下,我们应该如何实现 Oauth2 授权代码挂钩?
编辑
根据@benjamin anwser 的说法,AppLink 不是为了安全。但是,相关的威胁用例如下:安装了恶意应用程序并使用“SSO Cookie”获取Auth Code
并交换AT+RT
. 在我看来,这个过程中没有任何东西可以阻止这种情况:如果 applink 不是为了安全,授权服务器如何知道这个应用程序是恶意应用程序?
注意:我所说的 SSO-Cookie 是指使用CustomTab在 Android 上进行 SSO。