Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http REST:如何将授权密钥传输到服务器?_Http_Authorization - Fatal编程技术网

Http REST:如何将授权密钥传输到服务器?

Http REST:如何将授权密钥传输到服务器?,http,authorization,Http,Authorization,向服务器传输授权密钥的好方法是什么?我现在正在构建一个REST-API,我被用户如何在该API上授权所困扰。他将获得一个授权密钥(这不是问题),但将该密钥传递给服务器的好方法是什么?作为GET参数,作为HTTP头字段,作为cookie 对于大多数编程语言,哪种方式比较容易处理(例如,我想将API与php或ajax结合使用)我建议通过HTTP POST发送,如果可能的话,在发送之前对其进行加密,并根据需要在服务器上对其解密您可以使用身份验证方案,该方案使用授权HTTP头。使用基本身份验证时,客户端

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


对于大多数编程语言,哪种方式比较容易处理(例如,我想将API与php或ajax结合使用)

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

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

如果没有更多详细信息,我可能建议使用客户端凭据授予类型。基本上,客户端使用基本身份验证及其客户端凭据一次来接收访问令牌,然后在后续资源请求中使用访问令牌。通常使用
授权
HTTP头提交访问令牌

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


相关:

HTTP标头似乎是最好的。我听说一些代理/服务器在不知道HTTP标头字段时会将其剥离。为了使用api,必须在每次请求时将密钥传输到服务器。如果你只是想得到一些信息呢?这样,我每次都要使用HTTP POST。这似乎是错误的,不是吗?攻击者还可以攻击cookie以及标头和HTTP请求数据。所以从这个意义上讲,这两种方法都不是100%安全的,您可以做的是在将密钥保存到cookie之前对其进行加密,并在获取密钥后在服务器上对其进行解密。