什么是RESTAPI认证?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (154)

正在构建一个将托管在服务器上的应用程序。想为应用程序构建一个API,以方便与来自任何平台(WebApp,MobileApp)的交互。我不理解的是,当使用RESTAPI时,如何验证用户身份。

例如,当用户登录后想要创建论坛主题时。如何知道用户已经登录了?

提问于
用户回答回答于

当前的请求来自一个经过身份验证的用户。因为RESTAPI通常是无状态的,所以必须持久化状态。

大体步骤是:

  1. 创建一个登录/注销API,类似于:/api/v1/loginapi/v1/logout
  2. 在这些登录和注销API中,使用用户存储执行身份验证。
  3. 结果是象征性的(通常,JSESSIONID)发送回客户端(web、移动等)
  4. 从现在起,客户端进行的所有后续调用都将包括此令牌。
  5. 假设下一个调用是对一个名为/api/v1/findUser
  6. 这个API代码要做的第一件事是检查身份认证
  7. 如果答案返回为否,则向客户端抛出HTTP 401状态
  8. 如果答案是肯定的,则继续返回所请求的用户。

仅此而已。希望这能帮上忙。

用户回答回答于

可以使用HTTP基本身份验证。可以安全地使用SSL对用户进行身份验证,但是,它会稍微降低API的速度。

扫码关注云+社区

领取腾讯云代金券