我应该通过HTTP头或Post体将凭据作为JSON传递给RESTAPI吗?

我应该通过HTTP头或Post体将凭据作为JSON传递给RESTAPI吗?,rest,security,authentication,basic-authentication,Rest,Security,Authentication,Basic Authentication,我正在尝试使用基于令牌的身份验证创建RESTAPI 在将凭据从客户端传递到服务器以生成令牌方面是否有最佳做法。作为HTTP头还是作为post body中的JSON字符串 我一直在四处寻找,但没有找到任何具体的答案。不要试图重新发明轮子。要获得一个良好的起点,请查看以下内容: 为了我的API实现和我的需要,我选择了一个简单的BasicAuth(使用头发送凭证)和任何其他令牌,以及我随每个请求添加到JSON负载中的安全相关数据。 别忘了将SSL设置为必需的。我建议使用身份验证协议,更具体地说,使用

我正在尝试使用基于令牌的身份验证创建RESTAPI

在将凭据从客户端传递到服务器以生成令牌方面是否有最佳做法。作为HTTP头还是作为post body中的JSON字符串


我一直在四处寻找,但没有找到任何具体的答案。

不要试图重新发明轮子。要获得一个良好的起点,请查看以下内容:

为了我的API实现和我的需要,我选择了一个简单的BasicAuth(使用头发送凭证)和任何其他令牌,以及我随每个请求添加到JSON负载中的安全相关数据。
别忘了将SSL设置为必需的。

我建议使用身份验证协议,更具体地说,使用实现此协议的第三方服务或实体库。Open ID Connect构建于OAuth 2之上,目前广泛用于支持各种开发语言和框架:

成功的身份验证步骤会产生一个“访问令牌”,然后可以将该令牌传递给RESTAPI,并在其中验证其真实性。在Open ID Connect中,此令牌作为HTTP头而不是POST正文传递

如果您使用自己的协议,甚至开发自己的开放ID连接实现,请注意细节,因为很容易忽略一些小问题,从而创建不安全的API。关于我所指的示例,请参见。出于这种考虑,我始终建议使用现有的、经过良好审查的实现