0

将授权密钥传输到服务器的好方法是什么?我现在正在构建一个 REST-API,但我不知道用户如何授权该 api。他将获得一个授权密钥(这不是问题),但是将这个密钥传递给服务器的好方法是什么?作为 GET 参数,作为 HTTP Header 字段,作为 cookie?

大多数编程语言都易于处理哪种方式(例如,我想将 API 与 php 或 ajax 一起使用..)

4

2 回答 2

0

我建议通过 HTTP POST 发送,如果可能的话,在发送之前对其进行加密,并根据需要在服务器上解密

于 2013-05-31T18:18:41.137 回答
0

您可以使用HTTP 基本身份验证方案,该方案使用AuthorizationHTTP 标头。使用基本身份验证,客户端必须在每个请求上提供其凭据。所以您可能更喜欢Digest身份验证方案,它更安全一些。

如果没有更多细节,我可能会推荐使用客户端凭据授权类型的OAuth 2.0 。基本上,客户端使用基本身份验证及其客户端凭据一次来接收访问令牌,然后在后续资源请求中使用访问令牌。通常,访问令牌是使用HTTP 标头提交的。Authorization

OAuth 确实是一个授权框架,但它也为 API身份验证提供了一个很好的解决方案,您可能会发现它的授权工具对于保护对 API 资源的访问很有用。授权代码授权类型也可能适用于您的用例。

相关:保护 REST API / Web 服务的最佳实践

于 2013-05-31T20:31:38.287 回答