Safari不提示输入凭据

时间:2019-12-06 07:06:59

标签: authentication safari cors prompt

几天前,我们更改了应用程序/服务器结构,导致身份验证出现问题。我们基本上所做的是使用NTLM进行SSO,方法是从客户端调用身份验证服务器,并返回身份验证令牌。

因此,如果您打开域A上托管的应用程序,则客户端会向域B(核心)请求令牌。对于iOS或MacO,通常会在质询/响应处理过程中导致登录提示,但是–由于我们移至其他域,因此没有显示任何内容,并且用户得到了401。

我调试了问题并将其简化为更简单的情况,方法是使用基本的html页面(域A)向域B发出xhr请求,该页面包含一个简单的auth服务,该服务需要基本身份验证,因此还需要一些将在登录提示中输入的凭据-导致相同的行为。

到目前为止,我已阅读并完成以下操作:

  • 两个服务器(域A和B)均通过https进行通信
    • 我已经读懂了,以便Safari提示
  • 使用通配符证书
    • 我在某处阅读过这可能会导致问题的信息,但是如果您直接致电网域B,则会显示登录提示
  • 在xhr请求上设置了
  • withCredentials
  • 身份验证服务器响应
    • Access-Control-Allow-Credentials:true
    • 访问控制允许来源:https://domainB.mycompany.com
      • 因此在大多数情况下,通配符都不起作用
    • 访问控制允许标题:*
      • 我还尝试了一些发现的组合,包括“授权”和“来源”
    • 访问控制允许方法:*
      • 我还尝试了直接允许OPTIONS和GET

经过测试的平台/浏览器组合:

  • Windows:IE,Chrome,FF –都可以运行
  • Android:Chrome,三星浏览器-都可以运行
  • MacOS:Chrome(可以运行),Safari(不可以)
  • iOS:Chrome,Safari –均无法运行

不幸的是,我不知道要测试或搜索什么了,希望有人能帮助我。请让我知道是否需要更多信息。

谢谢!丹尼斯

0 个答案:

没有答案
相关问题