Safari 12中拒绝登录表单提交

时间:2019-01-18 06:32:03

标签: forms model-view-controller safari

我在MVC视图中有一个登录表单,该表单包含两个单独的按钮,每个按钮都指向不同的提供程序。验证后,应用程序应这样重定向到给定的URL:

<form asp-controller="LoginController" asp-action="ExternalLogin" asp-route-returnurl="URLToRedirectTO" method="post">

  <button type="submit" id="loginButton1" name="provider" value="Provider1">Provider1</button>
  <button type="submit" id="loginButton2" name="provider" value="Provider2">Provider2</button>

</form> 

此方法在Safari 11及更早版本中可以正常运行,但由于OSX Mojave更新而失败。

在这两种情况下,提供程序都将成功验证并给出200响应,但不是重定向用户,而是未经验证将用户发送回登录页面。没有引发可见错误。

我应该注意,如果用户首次登录提供程序,登录会成功。因此,如果未登录的用户被选定的提供程序记住(实际上是Google)转到account.google.com进行登录,然后将其登录并正确重定向。但是如果Google记得该用户登录失败。

我怀疑这是由于Safari 12中的一些新安全规则引起的,但是由于它太新了,因此无法对导致这种情况的任何好的线索进行罚款。我尝试允许跨站点跟踪来确定这是否是由Cookie问题引起的,但是没有运气。有什么建议吗?

0 个答案:

没有答案