Я работаю над решением для углового приложения со следующим сценарием.
1. Пользователь заходит на доменное имя "login.site1.com"
2. Учетные данные пользователя верны, поэтому браузер перенаправляет пользователя на доменное имя «angular-app.site2.com», где находится угловое приложение.
Итак, вопросы:
1. Как я могу перенаправить пользователя на страницу «angular-app.site2.com»? Это междоменный запрос.
2. Как приложение angular может обнаружить, что пользователь уже прошел аутентификацию на «login.site1.com»?
Я не смог найти ответы на вопросы. Однако я попробовал следующее.
1. Перенаправление с помощью jquery. Мне нужно, чтобы пользователь jquery jsonp. Я использую следующий код
$.ajax({
type: "GET",
url: url,
crossOrigin: true,
async: false,
crossDomain: true,
contentType: "application/json; charset=utf-8",
xhrFields: { withCredentials: true },
dataType: "jsonp",
headers: { 'Authorization': spAuthData }
jsonpCallback: "jsonpCallback",
success: function (res) {
func(res);
},
error: function (xhr, status, error) {
func({ xhr: xhr, status: status, error: error });
}
});
Я получаю сообщение об ошибке «jsonpCallback не был вызван», что объясняется тем, что угловое приложение не отвечает на вызов.
2. Как я уже сказал, я не знаю, как получить дополнительную информацию заголовка от вызова ajax. Я нашел библиотеку под названием ngx-cookie-service, но я не знаю, правильно ли это.
Спасибо за вашу поддержку.