比如说,我有一个 API /api/send-otp
,它将电话号码作为输入并将 otp 发送到用户的电话号码。现在,这个 API 不能被认证,因为 auth token 是在成功/api/confirm-otp
调用后生成的。
如何确保/api/send-otp
呼叫仅来自授权的android应用程序,而不是来自任何脚本/客户端。
PS:我不能在 apk 中嵌入任何散列逻辑,因为它可以被逆向工程。谷歌提供的东西(安全网)吗?任何相关的文档/实施链接都会有所帮助。
比如说,我有一个 API /api/send-otp
,它将电话号码作为输入并将 otp 发送到用户的电话号码。现在,这个 API 不能被认证,因为 auth token 是在成功/api/confirm-otp
调用后生成的。
如何确保/api/send-otp
呼叫仅来自授权的android应用程序,而不是来自任何脚本/客户端。
PS:我不能在 apk 中嵌入任何散列逻辑,因为它可以被逆向工程。谷歌提供的东西(安全网)吗?任何相关的文档/实施链接都会有所帮助。
如何确保 /api/send-otp 调用仅来自授权的 android 应用程序,而不是来自任何脚本/客户端
一种简单的方法是传递指标参数app_version
并在服务器端检查它。如果它不存在,则取消对请求的身份验证。
或者,您可以使用旧的 Google Play 服务GoogleAuthUtil
您使用可通过 Google Play 服务获得的 GoogleAuthUtil 类来检索称为“ID 令牌”的字符串。您将令牌发送到您的后端,您的后端可以使用它来快速、廉价地验证哪个应用程序发送了它以及谁在使用该应用程序。
此外,还有另一种方式,谷歌登录,在这个安全博客中提到