2016-07-07 14 views
6

Vì vậy, như tiêu đề cho biết, tôi đang cố gắng sử dụng auth0-lock với Angular 2 SPA và ASP.NET Core API. Tôi đang gặp sự cố khi xác thực bản thân mình để thử nghiệm. Tôi cũng đang sử dụng webpack để đóng gói ứng dụng và đã xóa tất cả các tham chiếu khác xuống chỉ với ứng dụng auth trần.Auth0 với auth0-lock chỉ xác thực khi sử dụng trình gỡ rối, từ từ bước qua mã

Tôi đi theo hướng dẫn của họ vào đây: https://auth0.com/docs/quickstart/spa/angular2

Vấn đề là khi tôi nhấn các nhà xây dựng nó sẽ chỉ xác thực nếu tôi chậm rãi bước qua mã thư viện với trình gỡ lỗi.

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

Nếu tôi xóa trình gỡ rối và để nó chạy ở tốc độ bình thường, nó sẽ không bao giờ xác thực; các auth0-lock sẽ đi lên và tôi có thể đăng nhập sau đó nó sẽ tải lại, nhưng tôi sẽ không được đăng nhập cũng sẽ không có bất cứ điều gì trong lưu trữ địa phương.

CẬP NHẬT: Vì vậy, tôi nghĩ rằng tôi đã tìm ra nguyên nhân cho vấn đề này. Sử dụng bộ định tuyến thành phần gần đây nhất của Angular 2; Nếu tôi nhận xét định tuyến ra, auth hoạt động ngay lập tức, nhưng đặt nó trở lại trong tôi phải sử dụng trình gỡ lỗi để làm chậm nó xuống. Nếu không, nó sẽ không auth. Có cách nào để sửa lỗi này không?

Tôi cũng gặp sự cố khác khi tôi được xác thực, truy vấn API của tôi tôi nhận được phản hồi 401 Unauthorized mặc dù Auth0 đang cho biết là tôi được ủy quyền. Tôi có thể thấy dấu hiệu của tôi trong localStorage cũng như việc sử dụng các mô-đun authHttp tìm thấy trong angular2-jwt đến từ một một trong những Auth0 hướng dẫn về góc 2.

My backend (asp.net Core) đã là một phương pháp với [Authorise]. Tôi đã theo dõi thiết lập từ đây https://auth0.com/docs/quickstart/backend/aspnet-core-webapi về cách thực hiện, ngoại trừ tôi đang gặp vấn đề ở trên.

UPDATE: Vì vậy, nó quay ra vấn đề này đã được casued bởi tôi bỏ qua các phần trong hướng dẫn về việc thay đổi SignatureAlgorithm sử dụng RS256 Tôi đã thay đổi nó để sử dụng phương pháp RS256 và đang làm việc tốt trên mà bên những điều bây giờ vẫn có những vấn đề mà nó wont auth khi tôi đã định tuyến được kích hoạt trên góc 2 dù đây là Github Repo cho dự án: https://github.com/Toxicable/Templates

Trả lời

0

về vấn đề xung quanh xác thực khi định tuyến được kích hoạt, điều này có thể liên quan đến thực tế rằng Angular 2 router will not preserve query and fragment parameters upon navigation.

Điều này có nghĩa là Khóa Auth0 sẽ không thấy thông số liên quan đến xác thực trong URL và do đó sẽ không xác thực người dùng. Nếu trường hợp này xảy ra, hãy thử làm theo các thủ tục được chỉ ra trong câu trả lời khác (How to use the HashLocationStrategy with the Auth0 Lock widget for user login), mặc dù các quy trình đó giải quyết cho trường hợp định tuyến bằng cách sử dụng HashLocationStrategy mà tôi không biết nếu đó là trường hợp của bạn.

Các vấn đề liên quan