1

モバイルアプリケーション用のGoogle認証を統合したExpress.JSフレームワークを使用してNode.JS RESTサーバーを構築しようとしています。使用されるNode.JSのバージョンは0.12.7です。Node.JS Google認証トークンを確認してください

ロードしようとしているモジュールがエラーを返すように見えるため、アプリケーションから受け取ったGoogleトークンを確認する際に問題が発生しています。

このトークンを検証するために使用されるモジュールは、passport-google-token [1]です。次のようにこのモジュールを初期化し、トークンをチェックするために使用されるコードは次のとおりです。

index.jsは、私は私は、サーバーを起動しようとすると

'use strict'; 

import express from 'express'; 
import passport from 'passport'; 
import {setTokenCookie} from '../../auth.service'; 

var router = express.Router(); 

router 
    .post('/callback', passport.authenticate('google-token'), setTokenCookie); 

export default router; 

passport.jsが

import passport from 'passport'; 
import GoogleTokenStrategy from 'passport-google-token'; 

export function setup(User, config) { 
    passport.use(new GoogleTokenStrategy({ 
    clientID: config.google.clientID, 
    clientSecret: config.google.clientSecret 
    }, 
    function(accessToken, refreshToken, profile, done) { 
    User.findOne({'google.id': profile.id}).exec() 
     .then(user => { 
     if (user) { 
      console.log(user); 
      return done(null, user); 
     } 

     user = new User({ 
      name: profile.displayName, 
      email: profile.emails[0].value, 
      role: 'user', 
      username: profile.emails[0].value.split('@')[0], 
      provider: 'google', 
      google: profile._json 
     }); 
     console.log(user); 
     user.save() 
      .then(user => done(null, user)) 
      .catch(err => done(err)); 
     }) 
     .catch(err => done(err)); 
    })); 
} 

をファイルファイル次のエラーを受け取りました:

D:\Work\SoftwareUp\softwareup_android_demo\server\server\auth\google\mobile\passport.js:19 
    _passport2.default.use(new _passportGoogleToken2.default({ 
         ^
TypeError: object is not a function 
    at Object.setup (D:/Work/SoftwareUp/softwareup_android_demo/server/server/auth/google/mobile/passport.js:5:16) 
    at Object.<anonymous> (D:/Work/SoftwareUp/softwareup_android_demo/server/server/auth/index.js:13:37) 
    at Module._compile (module.js:460:26) 
    at loader (D:\Work\SoftwareUp\softwareup_android_demo\server\node_modules\babel-register\lib\node.js:144:5) 
    at Object.require.extensions.(anonymous function) [as .js] (D:\Work\SoftwareUp\softwareup_android_demo\server\node_modules\babel-register\lib\node.js:154:7) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.exports.default (D:/Work/SoftwareUp/softwareup_android_demo/server/server/routes.js:15:20) 
    at Object.<anonymous> (D:/Work/SoftwareUp/softwareup_android_demo/server/server/app.js:27:1) 
    at Module._compile (module.js:460:26) 
    at loader (D:\Work\SoftwareUp\softwareup_android_demo\server\node_modules\babel-register\lib\node.js:144:5) 
    at Object.require.extensions.(anonymous function) [as .js] (D:\Work\SoftwareUp\softwareup_android_demo\server\node_modules\babel-register\lib\node.js:154:7) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 
    at Object.<anonymous> (D:\Work\SoftwareUp\softwareup_android_demo\server\server\index.js:12:28) 
    at Module._compile (module.js:460:26) 
    at Object.Module._extensions..js (module.js:478:10) 
    at Module.load (module.js:355:32) 
Stopping Express server 

私が考えていることは、私はその問題が何であるか分かりません。

私を助けてもらえますか?

ありがとうございます。

[1] https://www.npmjs.com/package/passport-google-token

答えて

2

import { Strategy as GoogleTokenStrategy } from 'passport-google-token';

+0

import GoogleTokenStrategy from 'passport-google-token';

からインポートコードを変更してみてください。これは私の問題を解決したし、動作しているようです、ありがとう今。 – Ancuta

関連する問題