2016-07-07 53 views
6

kodunu yavaşça adımlamak için Yani başlıkta belirtildiği gibi, Angular 2 SPA ve bir ASP.NET Çekirdek API'si ile auth0-lock kullanmaya çalışıyorum. Test için kendimi doğrulamakta sorun yaşıyorum. Ayrıca uygulamayı paketlemek için webpack kullanıyorum ve tüm diğer referansları sadece çıplak auth uygulamasına sildim. Ben yavaş yavaş hata ayıklayıcı ile kütüphane kod boyunca adım ise yalnızca kimlik doğrulaması olacaktır yapıcısı vurduğunda https://auth0.com/docs/quickstart/spa/angular2auth0-lock ile Auth0 sadece hata ayıklayıcısını kullanırken doğrular,

sorundur:

Burada onların öğretici izledi.

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

Ben debugger'lar çıkarıp buna kimlik doğrulaması asla normal hızda çalışmasına izin ederse; auth0-lock çıkacak ve ben giriş yapabilirim, sonra yeniden yüklenir, ama giriş yapmam ya da yerel depoda bir şey olmayacak.

UPDATE: Bu yüzden bu sorunun nedenini buldum. Açısal 2'nin en yeni bileşen yönlendiricisini kullanarak; Yönlendirmeyi açıklarsam, o an hemen çalışır, ancak geri koymak, hata ayıklayıcısını yavaşlatmak zorundayım. Aksi halde, auth olmaz. Bunu düzeltmenin bir yolu var mı?

Kimlik doğrulaması yaptığımda başka bir sorun yaşıyorum API'mın sorgulanması cevabına rağmen Auth0 yetkili olduğumu söylüyor. Ben [Authorise] bir yöntem olarak benim localStorage yılında belirteci yanı sıra açısal 2.

Benim arka uç (asp.net Çekirdeği) üzerinde Auth0 öğreticiler başka birinden gelen angular2-jwt bulunan authHttp modülünün kullanımı vardır görebilirsiniz. Yukarıdaki sorunları yaşamaya devam etmeden, buradan yola çıkarak, https://auth0.com/docs/quickstart/backend/aspnet-core-webapi numaralı telefondan kurulum işlemini takip ettim.

GÜNCELLEME: Yani bu konunun bana RS256 yöntemi kullanmak için değiştirdik RS256 kullanmak SignatureAlgorithm değiştirme konusunda öğretici kısmı üzerinde atlayarak casued edildi çıkıyor ve o taraftaki iyi çalışıyor şimdi işler hala yönlendirme Burada proje için Github repo var açısal 2 olsa etkinleştirilmiş olduğunda o alışkanlık auth sorunu olan: https://github.com/Toxicable/Templates

cevap

0

etkin rotalanması zaman kimlik doğrulaması etrafında sorunu ile ilgili olarak, bu gerçeği ile ilgili olabilir Angular 2 router will not preserve query and fragment parameters upon navigation.

Bu, Auth0 Lock'un URL'deki kimlik doğrulama ile ilgili parametreleri görmeyeceği ve kullanıcının kimliğini doğrulayamayacağı anlamına gelir. Böyle bir durumda, bu diğer cevapta (How to use the HashLocationStrategy with the Auth0 Lock widget for user login) belirtilen prosedürleri takip etmeyi deneyin, ancak bu durumun sizin için uygun olup olmadığını bilmediğim HashLocationStrategy kullanarak yönlendirme sorununu çözdüğünü varsayalım.