Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
654 views
in Technique[技术] by (71.8m points)

oauth 2.0 - Meteor JS accounts-google package not working for me

I am a Meteor newbie and just ran into a problem using accounts-google (see below). All I did was follow the instructions on http://docs.meteor.com/#meteor_loginwithexternalservice. Any ideas on how to solve this issue and get Google login working? Thanks!

Terminal output:

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

When I comment out my service configuration code (below)

// first, remove configuration entry in case service is already configured
ServiceConfiguration.configurations.remove({
  service: "google"
});
ServiceConfiguration.configurations.insert({
  service: "google",
  clientId: "xxxxxxxx",
  secret: "xxxxxxxxx"
});

It asks me to enter the clientId and secret from the bootstrap dropdown gui. Then nothing happens after that.

After I add service-configuration, I get the following error after logging in: enter image description here

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It turns out that in addition to meteor add service-configuration, you have to complete a minimum of all of the following in Google's API website:

  1. https://console.developers.google.com/project
  2. "Create Project"
  3. Wait for the project to be provisioned
  4. "API & auth" on the sidebar, "Credentials"
  5. "Create new Client ID"
  6. Paste in "Authorized JavaScript origin" and "Authorized Redirect URI"
  7. "Create Client ID"
  8. Copy the Client Secret and Client ID to your app configuration
  9. "API & auth" on the sidebar "Consent screen"
  10. Enter the field "Product Name" and save

Steps 9 & 10 appear to be new requirements from Google in the past few days. See this Github ticket regarding the issue.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...