gpt4 book ai didi

android - 使用 OAuth2 安全验证移动访问的选项

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:03 25 4
gpt4 key购买 nike

我们目前正在实现 OAuth2 以保护我们的新 API,但不确定如何安全地提供所需的功能。我们需要允许移动设备执行以下操作:

Immediately after downloading the app the user is able to take a picture and submit it without having to first log in.

虽然我们希望允许匿名用户访问,用户无需登录或注册即可使用某些功能,但我们不想允许未经身份验证的 API 访问。这通常可以使用 client credentials authorization flow 来完成。获取应用程序访问 token ,但这需要知道客户端 secret 。据我所知,移动设备不被视为受信任的客户端,不应包含客户端 secret ,因此不应该能够自行生成应用程序访问 token 。

我们已经提出了一些选项来完成这个要求,但希望对它们有一些意见:

  1. 将客户端 key 嵌入到应用中。从安全的角度来看似乎并不理想,但也许我们缺少一种明显的保护它的方法?我们至少针对 iOS 和 Android。
  2. 离线生成应用访问 token 并将其嵌入到应用中。仍然不是很安全,但至少 secret 没有暴露。
  3. 允许仅使用客户端 ID 而不是访问 token 来访问某些功能。这可能是最简单的,但它引入了不一致性并且需要多种方式来验证客户端。
  4. 构建并使用配套网络应用为移动应用生成应用访问 token 。表面上看起来是赢家,但现在您必须安全访问配套应用!

您如何在不要求用户先登录的情况下使用 OAuth2 从移动设备安全地验证对 API 的访问?

最佳答案

同意对问题的评论。要么:

1.) 在 OAuth 2 中使用客户端凭证授权类型 - 在您的应用程序中嵌入 secret 。明白这不是 super 安全,最终会有人对其进行逆向工程。理想情况下,每个客户端都会获得一个唯一的 secret - 这样您就可以在他们滥用其使用权时撤销客户端。

2.) 接受开放的 API - 因此根本不需要 OAuth 2 访问 token 。也许只有您的应用知道该 API - 但同样,有人对其进行逆向工程只是时间问题。

关于android - 使用 OAuth2 安全验证移动访问的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389134/

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