Ich versuche, Benutzerauthentifizierung über Auth0 zu erstellen. Ich habe den auf ihrer Website beschriebenen Leitfaden gelesen, aber ich finde, dass die Authentifizierung mit einer Nachricht fehlschlägt, die auf der Konsole protokolliert wird. Sie lautet . Die übergreifende Ressourcenfreigabe ist nicht aktiviert.Aktivieren der ursprungsübergreifenden Ressourcenfreigabe mit Auth0 für Angular2-Authentifizierung
Meine auth.service.ts
Klasse:
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); });
};
}
Ich glaube, ich etwas zu den Header hinzufügen müssen, möglicherweise: Access-Control-Allow-Origin: *.auth0.com*
, aber wo würde ich brauche dies und in welchem Format hinzuzufügen, sollte es eingegeben werden?
Die vollständige Fehlermeldung ist folgende:
Cross-Origin-Anforderung blockiert: Die Same Origin Policy nicht zulässt, bei https://[mydomain]/usernamepassword/login die Remote-Ressource zu lesen. (Grund: CORS-Header 'Access-Control-Allow-Origin' fehlt). HTTP-Statuscode: 400.
Ich verwende derzeit die 'lite' Angular2-Entwicklungsserverbibliothek/-prozess.
Der Domain-Name wird in folgendem Format sowohl für den Rückruf und CORS weißen Listen mit dem Auth0 Armaturenbrett, hinzugefügt:
http://*.[mydomain]*
ich versuchen würde, https://*.[mydomain]*
auf die Liste und legen Sie eine automatische Umleitung auf https://
hinzufügen wenn dies würde zu sehen, helfen, aber die Website scheint nicht über https auf die zugegriffen zu mögen und führt den folgenden Fehler, wenn ich dies versuchen:
Sichere Verbindung
fehlgeschlagenDie Verbindung zu www. [Mydomain]: 3004 wurde unterbrochen, während die Seite geladen wurde.
Vielleicht, weil ich kein SSL-Zertifikat habe ??
Was ist die Fehlermeldung?Sind Sie sicher, dass Ihr Server für die Antwort mit CORS-Headern konfiguriert ist? Der Header "Access-Control-Allow-Origin" ist etwas, das vom Server zurückgegeben und nicht vom Client gesendet wird. –
@NitzanTomer wahrscheinlich nicht? Es ist nur ein Linode mit Ubuntu 16.04 LTS und ich habe nichts spezielles getan, um CORS zu aktivieren, also denke ich, dass es nicht aktiviert ist ...? Ich verwende den Lite-Server-Prozess aus den Angular2-Dokumenten im Moment ... –
Mögliches Duplikat von [Einstellung von Access-Control-Allow-Origin-Header im Angular2-Entwicklungsmodus] (http://stackoverflow.com/questions/37767093/ setting-access-control-allow-ursprung-header-in-angular2-development-mode) – msanford