2016-10-25 17 views
1

私はAurelia Single Page Appでユーザー認証にAuth0を使用しています。私は正常に私のapp.jsAuth0とAureliaを使用したFacebookユーザーフレンドリストの取得

login() { 
    this.lock.show(); 
} 

そしてコンストラクタ内で以下のコードを使用してログインしてアウトすることができます

私は今、FacebookのグラフAPIへの呼び出しを行うと、取り出したい
this.lock.on('authenticated', (authResult) => { 
    self.lock.getProfile(authResult.idToken, (error, profile) => { 
     if (error) { 
      // Handle error 
      console.log(error); 
      return; 
     } 

     localStorage.setItem('id_token', authResult.idToken); 
     localStorage.setItem('profile', JSON.stringify(profile)); 
     self.isAuthenticated = true; 
     self.lock.hide(); 
    }); 
} 

ログインしたユーザーの友人のリスト。私はすでに、この機能のためのアプリケーションへのアクセスを許可する許可を設定しています。私は、「アクセストークンは、このリソースを要求するために必要とされる」エラーが発生しますが

this.http.fetch('https://graph.facebook.com/v2.5/{user-id}/friends', { 
    method: 'GET', 
    headers: { 
     'Authorization': 'Bearer ' + authResult.idToken 
    } 
}) 
    .then(response => response.json()) 
    .then(friends => this.friends = friends); 

:私は、これはmodukeなどをフェッチ使用して、友人のリストを取得しようとしています。私はこれを正しくしているかどうかわかりません。私はドキュメントを読んだが、私は立ち往生している。私は本当に提供されたヘルプを感謝します。みんなありがとう!

+0

API呼び出しでアクセストークンを渡す必要がありますが、それについては不明な点があります。 – CBroe

答えて

1

認証プロセスの一部として発行されたAuth0 id_tokenの代わりに、Facebookが発行したアクセストークンを使用してFacebook APIを呼び出す必要があります。ユーザーはHTTPがread:user_idp_tokensスコープで生成Auth0のAPIトークンを含む/api/v2/user/{user-id}エンドポイントにGET呼び出しすることによってのIdPで認証された後に(この場合はFacebookの)

アイデンティティプロバイダアクセストークンを取得することができます。

この詳細については、既存ドキュメントのIdentity Provider Access Tokensトピックを参照してください。このページはまた、Call an Identity Provider APIへのステップバイステップのチュートリアルにリンクしています。

関連する問題