Я пытаюсь создать аутентификацию пользователя через Auth0. Я следил за руководством, написанным на их веб-сайте, но обнаружил, что аутентификация завершается сбоем, и в консоли регистрируется сообщение о том, что Общий доступ к ресурсам между источниками не включен.
Мой auth.service.ts
класс:
export class AuthService {
// Configure Auth0
auth0 = new Auth0({
domain: myConfig.domain,
clientID: myConfig.clientID,
callbackOnLocationHash: true,
callbackURL: myConfig.callbackURL,
});
constructor(private router: Router) {
var result = this.auth0.parseHash(window.location.hash);
if (result && result.idToken) {
localStorage.setItem('id_token', result.idToken);
this.router.navigate(['/dashboard']);
} else if (result && result.error) {
alert('error: ' + result.error);
}
}
public login(username: string, password: string) {
this.auth0.login({
connection: 'Username-Password-Authentication',
responseType: 'token',
email: username,
password: password,
}, function(err: any) { if (err) alert("something went wrong: " + err.message); });
};
}
Я считаю, что мне нужно что-то добавить в заголовки, возможно: Access-Control-Allow-Origin: *.auth0.com*
, но куда мне нужно добавить это и в каком формате это должно быть введено?
Полное сообщение об ошибке выглядит следующим образом:
Запросы между источниками заблокированы: та же политика происхождения запрещает чтение удаленного ресурса по адресу https://[mydomain]/usernamepassword/login а>. (Причина: заголовок CORS «Access-Control-Allow-Origin» отсутствует). Код состояния HTTP: 400.
В настоящее время я использую «облегченную» библиотеку/процесс сервера разработки Angular2.
Доменное имя было добавлено как в белый список обратного вызова, так и в белый список CORS с помощью панели управления Auth0 в следующем формате:
http://*.[mydomain]*
Я бы попытался добавить https://*.[mydomain]*
в список и установить автоматическое перенаправление на https://
, чтобы посмотреть, поможет ли это, но веб-сайт, похоже, не любит доступ через https и выдает следующую ошибку, когда я пытаюсь это сделать:
Безопасное соединение не удалось
Соединение с www.[mydomain]:3004 было прервано во время загрузки страницы.
Возможно, потому что у меня нет SSL-сертификата??
Access-Control-Allow-Origin
— это то, что возвращается сервером, а не отправляется клиентом. - person Nitzan Tomer   schedule 24.10.2016