我是流星新手,刚使用account-google遇到问题(见下文)。我所做的就是按照http://docs.meteor.com/#meteor_loginwithexternalservice上的说明操作。有关如何解决此问题并使Google登录正常工作的任何想法?谢谢!
终端输出:
W20141003-09:42:57.115(7)? (STDERR)
W20141003-09:42:57.116(7)? (STDERR) /Users/aw/.meteor/packages/meteor-tool/.1.0.33.alt9dq++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
W20141003-09:42:57.116(7)? (STDERR) throw(ex);
W20141003-09:42:57.117(7)? (STDERR) ^
W20141003-09:42:57.118(7)? (STDERR) ReferenceError: ServiceConfiguration is not defined
W20141003-09:42:57.119(7)? (STDERR) at app/server/accounts.js:26:1
W20141003-09:42:57.120(7)? (STDERR) at app/server/accounts.js:35:3
W20141003-09:42:57.120(7)? (STDERR) at /Users/aw/TS/.meteor/local/build/programs/server/boot.js:168:10
W20141003-09:42:57.120(7)? (STDERR) at Array.forEach (native)
W20141003-09:42:57.121(7)? (STDERR) at Function._.each._.forEach (/Users/aw/.meteor/packages/meteor-tool/.1.0.33.alt9dq++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/underscore/underscore.js:79:11)
W20141003-09:42:57.121(7)? (STDERR) at /Users/aw/TS/.meteor/local/build/programs/server/boot.js:82:5
=> Exited with code: 8
当我注释掉我的服务配置代码(下面)
时// first, remove configuration entry in case service is already configured
ServiceConfiguration.configurations.remove({
service: "google"
});
ServiceConfiguration.configurations.insert({
service: "google",
clientId: "xxxxxxxx",
secret: "xxxxxxxxx"
});
它要求我从bootstrap dropdown gui输入clientId和secret。那之后没有任何事情发生。
添加服务配置后,登录后收到以下错误:
答案 0 :(得分:11)
事实证明,除了meteor add service-configuration
之外,您还必须在Google的API网站中完成以下所有内容:
步骤9&在过去的几天里,Google似乎是Google的新要求。有关此问题,请参阅this Github ticket。
答案 1 :(得分:10)
您需要手动meteor add service-configuration
。
其余代码对我来说很好。
您还需要确保在Google Developers Console中正确配置了内容。
在REDIRECT URIS部分添加http://localhost:3000/_oauth/google?close
,在JAVASCRIPT ORIGINS部分添加http://localhost:3000/
。
这是出于localhost的测试目的,您在推送到生产时需要添加已部署的应用实际ROOT_URL(http://www.example.com/
)。
我在这里解决了类似的问题: