Ajax Safari中不允许使用Cloudfoundry UAA飞行前原始标头

Ajax Safari中不允许使用Cloudfoundry UAA飞行前原始标头,ajax,safari,cloud-foundry,preflight,cloudfoundry-uaa,Ajax,Safari,Cloud Foundry,Preflight,Cloudfoundry Uaa,我正在尝试使用Ajax访问Cloudfoundry UAA服务 我对/oauth/token的POST请求触发飞行前选项请求 在Chrome和firefox中,哪个控件发送以下控件头值 Access-Control-Request-Headers:accept, authorization, content-type 它可以正常工作,因为UAA允许在CORS响应中使用这些头 问题出现在Safari中,它在控制标题中包含一个新标题Origin,如下所示(用于飞行前选项请求) 为了响应上述请求,U

我正在尝试使用
Ajax
访问
Cloudfoundry UAA
服务

我对
/oauth/token
POST
请求触发
飞行前选项
请求

在Chrome和firefox中,哪个控件发送以下控件头值

Access-Control-Request-Headers:accept, authorization, content-type
它可以正常工作,因为
UAA
允许在
CORS
响应中使用这些头

问题出现在
Safari
中,它在控制标题中包含一个新标题
Origin
,如下所示(用于
飞行前选项
请求)

为了响应上述请求,UAA发送
403
以及带有消息的HTML正文

<h1>HTTP Status 403 - Illegal header requested</h1>
HTTP状态403-请求的头非法
我省略了不相关的HTML

我的问题是,如果UAA不支持
允许的CORS标头中的
Origin
标头,Safari将如何向
UAA
服务发出Ajax请求

因为safari在每次飞行前请求中都会发送此
Origin
头。我在这里迷路了,现在正在考虑向UAA发出服务器端请求

此时,似乎不可能使用Safari浏览器向Cloudfoundry UAA实例发出Ajax请求。

我已经使用
密码授权类型
实现了UAA的自定义登录表单。为此,我使用了Ajax,这样应用服务器就不知道密码了


如果您建议在不与服务器共享密码和不使用Ajax的情况下实现自定义登录表单,我们也欢迎您的建议。

您是否尝试过使用配置您希望UAA接受的标题

cors:
  default:
    allowed:
      headers:
        - accept
        - authorization
        - content-type
        - origin
        - authorization
        - accept-language
        - content-language

您是否尝试过使用配置希望UAA接受的标头

cors:
  default:
    allowed:
      headers:
        - accept
        - authorization
        - content-type
        - origin
        - authorization
        - accept-language
        - content-language

你能在这里发布请求和回复吗。以及您可能添加的任何UAA配置。ThanksI将尝试添加一些配置详细信息,但是对于特定配置,
Origin
标题不会出现问题。您可以尝试使用Ajax从Safari访问任何UAA服务,甚至在主页上,您将获得飞行前的
403
。您可以在此处发布请求和响应吗。以及您可能添加的任何UAA配置。ThanksI将尝试添加一些配置详细信息,但是对于特定配置,
Origin
标题不会出现问题。你可以尝试使用Ajax从Safari访问任何UAA服务,甚至在主页上,飞行前你会得到
403
。我没有,我甚至不知道这是可能的。我试试这个,看起来很有希望。这个配置应该在哪里完成?我没有,我甚至不知道这是可能的。我试试这个,看起来很有希望。应该在哪里进行此配置?