Вы не можете использовать ajax для запроса междоменного URI. Вам нужно будет внедрить свой собственный прокси на стороне сервера, который будет обрабатывать запрос / ответ с удаленным сервером аутентификации. Он может просто скопировать / вставить ответ, но он должен находиться в том же домене, что и ваш клиент.
То же самое для куки, у них есть домен, в котором они могут быть прочитаны / записаны.
Вам будет разрешено запрашивать только этот прокси. Он также может обрабатывать процесс создания файла cookie и затем возвращать идентификатор файла cookie клиенту.
Для (очень простого) примера на www.auth.com у вас есть этот веб-сервис:
url : www.auth.com/auth
@params : string uuid, string password
@returns : int shiroSessionId // yes it's more complicated, but KISS for the example
Вы должны создать на www.mydomain.com/myAuth класс, который использует сервис www.auth.com/auth с теми же параметрами и создать локальный файл cookie сеанса
url : /myAuth
@params : string uuid, string password
@returns : int cookieId, -1 if login failed
И, наконец, на www.mydomain.com/login.html у вас будет следующий вызов js (здесь, в jquery):
$.ajax(function() {
url : '/myAuth',
date : {uuid: inputUuid, password: inputPassword}, // provided by a form
success(cookieId) {
if(cookieId > 0) {
alert('logged with cookie '+getCookie(cookieId));
} else {
alert('login failed');
}
}
});
Надеюсь, это поможет.
Привет