目录

什么是 RESTful API 身份验证方法

RESTful Web 服务必须首先对请求进行身份验证,然后才能发送响应。身份验证是指验证身份的流程。例如,您可以出示身份证或驾驶证证明您的身份。同理,RESTful 服务客户端必须向服务器证明其身份才能确立信任。

一、什么是 RESTful API 身份验证方法?

RESTful Web 服务必须首先对请求进行身份验证,然后才能发送响应。身份验证是指验证身份的流程。例如,您可以出示身份证或驾驶证证明您的身份。同理,RESTful 服务客户端必须向服务器证明其身份才能确立信任。

RESTful API 包含四种常见身份验证方法:

HTTP 身份验证

HTTP 定义您实施 REST API 时可直接使用的一些身份验证方案。以下为这些方案的其中两种:

基本身份验证

在基本身份验证中,客户端在请求头中发送用户名和密码。其使用 base64 编码,该编码技术将对组转化为一套 64 个字符进行安全传输。

不记名身份验证

术语不记名身份验证指向不记名令牌授予访问控制的流程。不记名令牌通常是服务器在响应登录请求时生成的加密字符串。客户端在请求头中发送令牌以访问资源。

API 密钥

API 密钥是 REST API 身份验证的另一个选项。在此方案中,服务器向首次通信的客户端分配生成的唯一值。无论客户端何时尝试访问资源,其使用唯一的 API 密钥进行验证。API 密钥的安全性较低,因为客户端必须传输密钥,其易受网络盗窃的攻击。

OAuth

OAuth 结合密码和令牌实现对任何系统的高度安全登录访问。服务器首先请求密码,然后再额外请求令牌以完成授权流程。其可以随时查看令牌,也可以在特定范围和长度的一段时间内查看令牌。

二、RESTful API 服务器响应包含哪些内容?

REST 原则要求服务器响应包含以下主要组件:

状态行

状态行包含三位数字状态代码表示请求成功或请求出现故障。例如,2XX 代码表示成功,但 4XX 和 5XX 代码表示错误。3XX 代码表示 URL 重定向。

以下为一些常见的状态代码:

  • 200:通用成功响应
  • 201:POST 方法成功响应
  • 400:服务器无法处理的不正确请求
  • 404:未找到资源

信息正文

响应正文包含资源表征。服务器根据请求头包含的内容选择合适的表征格式。客户端可以以 XML 或 JSON 格式请求信息,这些格式定义如何以纯文本方式编写数据。例如,如果客户端请求名为 John 的人员的姓名和年龄,则服务器返回如下 JSON 表征:

‘{“name”:”John”, “age”:30}’

响应也包含有关响应的头或元数据。它们提供有关响应的更多背景内容,包含服务器、编码、日期和内容类型等信息。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。