gpt4 book ai didi

android - 重定向 URI 是否为 native 移动应用程序的 OAuth 实现提供安全性?

转载 作者:太空狗 更新时间:2023-10-29 13:10:15 24 4
gpt4 key购买 nike

我正在 Android 上开发一个 native 移动应用程序,它必须与具有 oAuth2.0 实现的服务器交互并使用 Google AppAuth 库,如解释的那样 here .

1) 除了将授权代码/访问 token 返回给我们的应用程序之外,重定向 URI 的目的是什么。由于在授权请求中指定的重定向 URI 必须与在 Google API 控制台注册的相同,它是否也是一种确保控制仅返回到在谷歌注册的应用程序而不是其他任何地方的媒介?

2) 由于我在我的移动应用程序中获取了访问 token 和刷新 token 并将其保存在移动设备中(如代码实验室示例中所示),如果有人掌握了我的刷新 token 、客户端 ID 和重定向 URI 的这些详细信息怎么办.有人可以在自己的设备上使用这些详细信息访问我的服务器吗?

最佳答案

  1. What is the purpose of Redirect URI other than getting Authorization code/Access token back to our application.

如您所说,大多数 IDP 使用与特定客户端 ID 关联的重定向 URI 白名单,以限制可以发送代码和 token 的位置,作为防止 token 盗窃的第一道防线。这适用于网络,其中 https 重定向 URI 至少提供了一些基本的防欺骗保护措施。

直到最近,https 重定向 URI 都不适合 native 应用程序。安卓 M 介绍 App Links ,它允许应用程序以无法被其他恶意应用程序劫持的方式声明 https 权限。另一种技术,PKCE , 提供的保护稍弱,但适用于任何 Android 版本。但是,PKCE 需要您的授权端点的支持。

  1. if somebody gets hold of my these details of refresh token [...] Can somebody access my server using these details on his own device ?

一般来说,是的。如果您的 token 泄露给另一个恶意应用程序,他们可以使用这些来访问这些 token 允许访问的数据。像这样的“不记名 token ”必须保密,通常只通过 token 发行者和 token 用户之间的加密连接传输它们。

关于 token channel binding 的标准工作正在进行中,其中 token 只能与生成并存储在设备上的硬件加密模块中的非对称 key 对结合使用。从此类模块中窃取私钥非常困难,比仅仅尝试窃取 token 本身要困难得多。

我会推荐阅读 OAuth2 for Native Apps了解当前最佳实践的概述。要在您的应用中使用 OAuth2,我建议使用 OpenID AppAuth图书馆。免责声明:我是 AppAuth 的主要维护者。

关于android - 重定向 URI 是否为 native 移动应用程序的 OAuth 实现提供安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41994953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com