У меня есть форма входа в 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, но не повезло.Есть предложения?