0

比如说,我有一个 API /api/send-otp,它将电话号码作为输入并将 otp 发送到用户的电话号码。现在,这个 API 不能被认证,因为 auth token 是在成功/api/confirm-otp调用后生成的。

如何确保/api/send-otp呼叫仅来自授权的android应用程序,而不是来自任何脚本/客户端。

PS:我不能在 apk 中嵌入任何散列逻辑,因为它可以被逆向工程。谷歌提供的东西(安全网)吗?任何相关的文档/实施链接都会有所帮助。

4

1 回答 1

0

如何确保 /api/send-otp 调用仅来自授权的 android 应用程序,而不是来自任何脚本/客户端

一种简单的方法是传递指标参数app_version并在服务器端检查它。如果它不存在,则取消对请求的身份验证。

或者,您可以使用旧的 Google Play 服务GoogleAuthUtil

您使用可通过 Google Play 服务获得的 GoogleAuthUtil 类来检索称为“ID 令牌”的字符串。您将令牌发送到您的后端,您的后端可以使用它来快速、廉价地验证哪个应用程序发送了它以及谁在使用该应用程序。

验证来自 Android 应用的后端调用

此外,还有另一种方式,谷歌登录,在这个安全博客中提到

于 2018-06-27T15:26:50.723 回答