2016-10-25 10 views
0

Google Passport戦略を使用してGoogle +認証を実装し、その後のリクエストでアクセストークンをクライアント側に返します。しかし、私はクライアント側でエラーを続けています。 "XMLHttpRequestはhttps://accounts.google.com/o/oauth2/v2/auth?response_type=code&redirect_ur ... = 1094664898379-8u0muh9eme8nnvp95dafuc3rvigu4j9u.apps.googleusercontent.comを読み込めません。 'Access-Control-Allow-Origin'ヘッダーが要求されたリソースに存在しません。 'http://localhost:3000'はアクセスできません。私は自分のWebアプリケーションで認証のためのGoogleの戦略を実装している。クライアント側でAngularフレームワーク、サーバー側でExpressを使用します。Google +認証でGoogle +認証を使用してアクセストークンをAngularに渡すことができない

私は解決のための以前の記事にも言及しましたが、役に立たないです。提供されるソリューションは、クライアントサイドで単純なhrefを使用することですが、後続のAPIリクエストを作成するためにアクセストークンをクライアント側にどのように渡すことができないのか分かりません。どんな助けでも大歓迎です。イライラさせられたサーチの多くの後

Angular/Node/Express/Passport - Issues when connecting to facebook(CORS) Angular/Node/Express/Passport Cross Domain Problems - Enable CORS Passport Facebook Authentication

答えて

0

、私は最終的に、認証のためのGoogleのトークン戦略を使用してこの問題を回避することができました。ここでは、最初にクライアント側でユーザーを認証してから、サーバー側でトークンを認証します。下記のコードスニペットはfbのものですが、googleでも同様です。

app.post('/auth/facebook/accesstoken', 
     passport.authenticate('facebook-token',{session: false}), 
     function (req, res) { 
     // do something with req.user 
     if(req.user){ 
      console.log('fb user authenticated'); 
      res.send(req.user); 
     } 
     else{ 
      console.log('no entry'); 
      res.send(401); 
     } 
     } 
    ); 
+0

マインは、Angularによって駆動されるテンプレートを使用するSPAです。これがうまくいかなかった場合は、hrefを使用してgoogle宣誓のパスポート戦略を呼び出すことになり、認証されたユーザーをクライアント側に戻すのに苦労しました。あるいは、私のアーキテクチャを複雑にするこの目的のために、EJSのようなサーバーテンプレートエンジンを使用することになりました –

関連する問題