java - 使用 token 对客户端和服务器端进行身份验证的正确方法?

标签 java php android web-services restful-authentication

我有一个多平台项目。

它有网页端和安卓端。你们有什么建议来验证我正在与 Web 服务交谈的客户端是我的 android 客户端?有人知道我应该如何验证这两个吗?

我正在考虑在 user 表中保存一个 token 字段,其内容是一些基于来自客户端的数据的唯一哈希,可以被服务器识别。但是,我不知道可以使用哪些信息作为哈希的基础。

我应该使用哪些客户端信息来创建哈希值以用作身份验证 token ?

如果需要此信息,我的 Web 服务将作为一个 RESTful API 呈现给客户端,并在服务器端用 PHP 编写。

谢谢。

最佳答案

您可以让客户端和服务器使用 SSL 相互通信,并将服务器配置为需要客户端证书。参见示例 https://docs.oracle.com/cd/E19424-01/820-4811/aakhe/index.html有关这方面的更多信息。

但是,这并不能保护您免受恶意黑客的侵害,黑客可以从您的客户端提取证书并将其添加到自己的应用程序中。

关于java - 使用 token 对客户端和服务器端进行身份验证的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39052665/

相关文章:

几分钟后,带有 opengl es 的 Android 绘图文本崩溃

java - Hibernate 生成的查询 - 不存在的表

php - Mysql 正则表达式按数字选择

java - 如何使用 CallLog 在 Android 上获取我的电话号码

javascript - jquery ajax 添加到mysql数据库

php - jeditable 正在更新 mysql 但在我的 php 中返回 header

android - 使用自定义 View 绘制边框 Android

java - 在java中创建具有特定名称的动态对象

java - 一个改变图像的按钮android

java - Struts 2选择带有数组列表值的标签