2016-07-07 10 views
6
langsam zu durchlaufen

So wie der Titel sagt, versuche ich auth0-lock mit Angular 2 SPA und einem ASP.NET Core API zu verwenden. Ich habe Probleme mich für das Testen zu authentifizieren. Ich benutze auch webpack, um die App zu packen und habe alle anderen Referenzen auf nur die nackte Auth-App gelöscht.Auth0 mit auth0-Sperre authentifiziert nur, wenn Debugger verwendet wird, um Code

Ich folgte ihr Tutorial hier: https://auth0.com/docs/quickstart/spa/angular2

Das Problem ist, wenn ich den Konstruktor getroffen wird es nur authentifizieren, wenn ich langsam durch den Bibliothekscode mit Debugger Schritt.

constructor() { 
     debugger 
    // Add callback for lock `authenticated` event 
     this.lock.on("authenticated", (authResult) => { 
     debugger 
     localStorage.setItem('id_token', authResult.idToken); 
    }); 
    } 

Wenn ich die Debugger entferne und sie mit der normalen Geschwindigkeit laufen lasse, wird sie sich nie authentifizieren; Die auth0-lock wird kommen und ich kann mich einloggen, dann wird es neu laden, aber ich werde nicht eingeloggt noch wird es etwas im lokalen Speicher geben.

UPDATE: Also ich denke, ich habe die Ursache für dieses Problem gefunden. Verwenden des neuesten Komponenten-Routers von Angular 2; Wenn ich das Routing auszeichne, funktioniert das Auth sofort, aber wenn ich es wieder einfüge, muss ich den Debugger verwenden, um es zu verlangsamen. Andernfalls wird es nicht auth. Gibt es eine Möglichkeit, das zu beheben?

Ich habe auch ein anderes Problem, wenn ich authentifiziert bin, meine API abfragend bekomme ich eine Antwort 401 Unauthorized, obwohl Auth0 sagt, dass ich autorisiert bin. Ich kann meinen Token in localStorage sowie die Verwendung von authHttp Modul gefunden in angular2-jwt kommt von einem anderen Auth0 Tutorials auf Winkel 2.

My Back-End (asp.net Core) hat als ein Verfahren mit [Authorise] sehen. Ich folgte dem Setup von hier https://auth0.com/docs/quickstart/backend/aspnet-core-webapi auf, wie man geht, außer ich habe die oben genannten Probleme.

UPDATE: So stellt sich dieses Problem aus casued wurde von mir im Tutorial über den Teil Überspringen auf die SignatureAlgorithm Ändern RS256 zu verwenden Ich habe es geändert, um die RS256-Methode zu verwenden und arbeitet gut auf der Seite des Dinge jetzt noch das Problem mit dem es wird nicht auth, wenn ich Routing auf Winkel 2 obwohl Hier ist die Github Repo für das Projekt freigegeben habe: https://github.com/Toxicable/Templates

Antwort

0

In Bezug auf das Problem um die Authentifizierung, wenn aktiviert ist Routing, kann dies mit der Tatsache, dass das Angular 2 router will not preserve query and fragment parameters upon navigation.

Dies würde bedeuten, dass Auth0 Lock die authentifizierungsbezogenen Parameter in der URL nicht sehen würde und somit den Benutzer nicht authentifizieren würde. Wenn dies der Fall ist, versuchen Sie, die in dieser anderen Antwort (How to use the HashLocationStrategy with the Auth0 Lock widget for user login) angegebenen Verfahren zu befolgen, obwohl diese für den Fall des Routings unter Verwendung der HashLocationStrategy Lösung, die ich nicht weiß, ob es Ihr Fall ist.