Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/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
Google chrome 访问控制允许凭据与访问控制在自定义身份验证中公开标头_Google Chrome_Http_Cors_Http Authentication - Fatal编程技术网

Google chrome 访问控制允许凭据与访问控制在自定义身份验证中公开标头

Google chrome 访问控制允许凭据与访问控制在自定义身份验证中公开标头,google-chrome,http,cors,http-authentication,Google Chrome,Http,Cors,Http Authentication,因此,我正在使用自定义身份验证实现一个web应用程序 现在的实现如下所示(下面的括号引用HTTP头): 客户端:(授权:) 服务器:(身份验证信息:nextnonce=) 客户:(授权:持票人)客户包括以下所有通信 在我在web客户端中遇到大量CORS配置之前,这在移动应用程序客户端上非常有效 我注意到Chrome拒绝获取身份验证信息头,除非我将其添加到Access Control Expose Headers头中。访问控制允许凭据的值根本不重要。而该公司表示,这些凭证包括“HTTP身份验证”

因此,我正在使用自定义身份验证实现一个web应用程序

现在的实现如下所示(下面的括号引用HTTP头):

客户端:(授权:)
服务器:(身份验证信息:nextnonce=)
客户:(授权:持票人)客户包括以下所有通信
在我在web客户端中遇到大量CORS配置之前,这在移动应用程序客户端上非常有效

我注意到Chrome拒绝获取身份验证信息头,除非我将其添加到Access Control Expose Headers头中。访问控制允许凭据的值根本不重要。而该公司表示,这些凭证包括“HTTP身份验证”

那么这里的访问控制点是什么呢。我对“HTTP身份验证”的理解是否错误? 到目前为止,我对这个应用程序的实现看起来不错吗


顺便说一句,我读过这个。但我想这并不能解释清楚

来自服务器
cross.example.com
Access Control Allow Credentials:true
响应用于指示在发出请求时允许客户端使用
cross.example.com
的凭据。它对读取特定响应头的能力没有影响,但可能会影响完全读取响应的能力。当您忽略访问控制允许凭据时,是否可以读取响应?@apsillers是的,我可以读取所有“简单头”、访问控制允许的头、公开头和响应正文。那么,告诉客户机是否允许使用这些头的建议是什么呢?服务器只需从Access Control Allow headers中删除这些头。@spsillers顺便说一句,“Access Control Allow Credentials头表示在取消设置omit Credentials标志时是否可以公开对请求的响应。”据我所知,与Access-Control-Expose-Headers完全相同。描述它们的语言完全不同(尽管可能很难解析)
Allow Credentials
确定认证请求的“是否可以公开响应…”,而
Expose Headers
指示“哪些[响应]头可以安全公开”<代码>允许凭据是一个布尔值,允许客户端读取对凭据请求的响应(因为默认情况下,客户端脚本无法读取对已认证请求的响应)
Expose Headers
是可以读取响应中的哪些头的列表(假设完全允许读取响应)。
Client: (Authorization: <Username>:<Password>)
Server: (Authentication-Info: nextnonce=<signed token>)
Client: (Authorization: Bearer <signed token>) client includes this for all following communication