2016-03-28 22 views
0

AngularJS 2 kullanarak basit bir MEAN yığın uygulaması geliştiriyorum. jwt strategy + angular2-jwt yardımcı kitaplığı ile passportJS kullanıyorum.Angular2 JWT Kimlik Doğrulama - JWT'ler 3 kısımda mı olmalıdır?

Giriş kodumla ilgilenen Köşeli Kodum. API'yi test ettim ve (postacı ile) çalışıyor. Ben giriş düğmesine gönderdiğinizde

//login.component.ts: 
onSubmit(credentials):void { 
     console.log("on SUbmit here"); 
    this._userService.login(credentials.email, credentials.password) 
    .subscribe((result) => { 
     if (result) { 
     console.log("Link to Todo?"); 
     this._router.navigate(['TodoComponent']); 
     } 
    }); 
    } 

//user.service.ts: 
    signUp(firstName, lastName, email, password) { 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 

     let user = new URLSearchParams(); 
     user.set('email', email); 
     user.set('password', password); 
     user.set('firstName', firstName); 
     user.set('lastName', lastName); 

    return this._http 
     .post('/signup', user.toString(), { headers }) 
     .map(res => res.json()) 
     .map((res) => { 
     console.log(res.success); 
     return res.success; 
     }); 
    } 

Ancak, bu hatayı alıyorum:

Uncaught (in promise): Error: JWT must have 3 parts

enter image description here

Ben JWTS doğru biçimde verilmesini sağlamak ve önlemek için ne yapmalıyım bu hatalar?

cevap

2

JWT'niz nasıl görünüyor? JWT'niz, 3 parts'a dizgiyi bölen 2 dots olmalıdır. Normalde 1. ve 2. kısım, { için base64 kodlu değeri olan ey ile başlar.

Burada yapıştırabilirsiniz: geçerli bir JWT var ve içeriğini deşifre eğer http://jwt.io/

Bu site söyleyebilirim, yani bunun doğru kanıtlayabilirim.

0

Aynı hatam var. Hatayı çözdüm. auth0'da yeni API oluşturun. Benzersiz Tanımlayıcı adı verin. "NodeAPI" 'u aldım. Size

yardım etmek

auth0 = new auth0.WebAuth({ 
      clientID: 'Hg3EhAWKgrPrX5UNGqFQA5vTbVGWF', 
      domain: 'xyz.auth0.com', 
      responseType: 'token id_token', 
      audience: 'NodeAPI', 
      redirectUri: 'http://localhost:4200/callback', 
      scope: 'openid' }); 

Mutlu