Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.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
Security 如何从RESTful服务发送安全令牌?_Security_Http_Rest_Asp.net Web Api_Restful Authentication - Fatal编程技术网

Security 如何从RESTful服务发送安全令牌?

Security 如何从RESTful服务发送安全令牌?,security,http,rest,asp.net-web-api,restful-authentication,Security,Http,Rest,Asp.net Web Api,Restful Authentication,我正在使用ASP.NET Web API和自定义的基于令牌的身份验证构建一个RESTful服务。客户端将在第一次呼叫时发送凭据。服务将使用用户详细信息创建一个加密令牌,该令牌将从此点起用于身份验证。现在,服务需要将此令牌发送回客户端。最初,我将令牌保存在HTTP自定义响应头中,以便客户端可以独立于服务返回的数据读取值。当客户机和服务在同一个域中时,这种方法工作得很好,但在跨域场景中失败。我已启用CORS服务,并添加了各种标题,如“访问控制公开标题”、“访问控制允许来源:*”等。但跨域客户端无法读

我正在使用ASP.NET Web API和自定义的基于令牌的身份验证构建一个RESTful服务。客户端将在第一次呼叫时发送凭据。服务将使用用户详细信息创建一个加密令牌,该令牌将从此点起用于身份验证。现在,服务需要将此令牌发送回客户端。最初,我将令牌保存在HTTP自定义响应头中,以便客户端可以独立于服务返回的数据读取值。当客户机和服务在同一个域中时,这种方法工作得很好,但在跨域场景中失败。我已启用CORS服务,并添加了各种标题,如“访问控制公开标题”、“访问控制允许来源:*”等。但跨域客户端无法读取我创建的自定义响应标题“SecureToken:”。我在几篇文章中看到,web浏览器在跨域场景中读取自定义响应头时存在一些问题。因此,现在我考虑通过服务发送的所有ViewModel/数据对象的公共基类发送安全令牌

在此背景下,我有几个问题:

  • 发送自定义安全令牌的最佳位置是什么。它是在响应头中还是作为ViewModel/数据类基类中的公共属性

  • 是否有一个标准HTTP响应头,我可以用来发送令牌和自定义信息,以便跨域客户端也可以读取它


  • 任何帮助都将不胜感激!谢谢

    授权标题用于此目的。查看此链接了解如何使用它的详细信息。

    授权不是请求头吗?我问的是Http“Response”头。授权是请求和响应的有效头。您可以/应该明确地使用带有自定义方案的授权头来返回tokenHi tpeczek-感谢您花时间研究这个问题。我以前看过这篇文章:。我已经实施了基于令牌的身份验证,它使用私钥加密。问题是如何在不注销用户的情况下发送更新的令牌(更新会话超时时,生成新令牌)。特定的响应头是最好的选择,但不幸的是跨域客户端无法读取非标准响应头