我正在寻找在访问 RESTful API 时对移动客户端用户进行身份验证的最佳方法。例如,AirBnb 大约如何使用其身份验证模块。
对于使用相同数据的 RESTful 和基本的基于 session 的资源,身份验证是否应该不同?
我不是移动开发人员,因此,我感兴趣的是从服务器端提供身份验证的最佳方式是什么,以便移动平台开发人员可以简单地使用它。
我在 google 上搜索了一些使用 OAuth、OAuth2、HTTPBasic 身份验证的方法,但仍然想知道移动开发人员如何使用此类 API,他们将如何存储此 token (cookie 由浏览器存储在面向浏览器的应用程序中)。
您能否向我推荐一些您在生产或宠物项目或其他项目中使用的链接/代码示例/技术?
最佳答案
用于身份验证的 OAuth(2) 的一个简单且易于管理的替代方案是 JWT .
您不需要额外的基础设施,工作流程和使用都很简单,并且已有适用于所有主要语言的现成库。
与 HTTP 基本身份验证相比 JWT通过传输附加信息而不仅仅是凭证来更加灵活,您可以存储 JWT token 作为 JSON 或者您可以使用 cookie,您不需要在客户端存储凭据,也不需要在每个请求上传输凭据。
同样基于JWT您可以非常轻松地实现单点登录功能。因此,如果您需要的不仅仅是一个简单的系统用户,那么您一定应该尝试 JWT .
关于java - 通过基于 Java Spring 框架构建的 RESTful API 服务器对客户端进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571336/