2016-03-28 14 views
0

私はAngularJS 2を使用して単純な平均スタックアプリケーションを開発しています。jwt strategy + angular2-jwtヘルパーライブラリでpassportJSを使用しています。Angular2 JWT認証 - JWTは3つのパートに分かれていなければなりませんか?

ここに、ログインコードを扱う私の角度コードがあります。私はAPIをテストして、それは機能します(郵便配達員と共に)。私は、ログインボタンを提出する際

//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; 
     }); 
    } 

はしかし、私はこのエラーを取得する:

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

enter image description here

私はJWTsが正しい形式で指定されていることを確認し、避けるために何をすべきこれらのエラー?

答えて

2

あなたのJWTはどのように見えますか?あなたのJWTは3 partsに文字列を分割した2 dotsを持つべきです。通常、1番目と2番目の部分はeyで始まり、これは{のbase64でエンコードされた値です。

あなたがそれをここに貼り付けることができます:あなたはそれが正しいことを証明することができるようにhttp://jwt.io/

をこのサイトでは、それが有効なJWTだ場合を伝えることができますし、その内容を解読することができます。

0

私は同じエラーがあります。私はエラーを解決した。 auth0に新しいAPIを作成します。固有の識別子名を与えます。私は "NodeAPI"を取った 私は以下の設定コードを言及します。あなた

助けて幸せ

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

関連する問題