Ama*_*ngh 5 security api rest android http-headers
我创建了一个 Android 应用程序,它使用 Rest API 从服务器请求资源。现在我如何在服务器端检查请求来自应用程序而不是来自邮递员。
例如,我使用以下端点从服务器获取数据。 https://api.example.com/get-data/ {id}
现在,也可以从浏览器访问此端点。因此,我想要一个解决方案,使 API 无法通过所有其他方式访问。IE。它应该只能从我的 android 应用程序访问,而不是任何浏览器、邮递员或不是由我构建的 android 应用程序。
换句话说,我希望我的 android 应用程序发送一条特殊的信息来帮助服务器对应用程序进行身份验证。除此之外,我还担心有人反编译我的 APK 并取出该信息来发出 API 请求。
注意我所说的特殊信息是指安全密钥或生成该密钥的机制。
我正在寻找类似由浏览器默认设置的“原点”标头之类的东西,即使是网站的开发人员,其他人也无法更改此标头。android中是否存在这样的东西?
您需要实现一个 API 令牌,其行为类似于 API 的密码。
执行此操作的一个简单方法是使用 Bearer 标头以及来自 API 的令牌值,并且您通过应用程序发送的每个请求都应包含此令牌作为标头。
一个例子是Slim 3 令牌身份验证,它为 Slim 3 框架 API 执行此操作。如果您使用 laravel API,请尝试https://laravel.com/docs/5.6/passport
| 归档时间: |
|
| 查看次数: |
1592 次 |
| 最近记录: |