Meteor: setup accounts-github not working

牧云@^-^@ 提交于 2019-12-11 08:46:45

问题


I'm trying to setup authentication using github. I followed the documentation. I've installed the packages:

$> meteor add accounts-github
$> meteor add service-configuration

And my code in server/github.js looks like:

ServiceConfiguration.configurations.remove({
    service: "github"
});
ServiceConfiguration.configurations.insert({
    service: "github",
    clientId: '****',
    secret: '*************'
});

Meteor.loginWithGithub({
    requestPermissions: ['user', 'public_repo']
}, function (err) {
      if (err)
        Session.set('errorMessage', err.reason || 'Unknown error');
});

When I start meteor now I get the following error:

/Users/me/.meteor/tools/5bf1690853/lib/node_modules/fibers/future.js:173
                    throw(ex);
                          ^
TypeError: Object #<Object> has no method 'loginWithGithub'
at app/server/github.js:11:8
at app/server/github.js:18:3
....

So it seems the Meteor object doesn't have the loginWithGithub method. Any suggestions why?


回答1:


You are running the code in the /server directory of your app.

Usually you call this code from the web browser to make Meteor display the Github OAuth login dialog.

This is not available on the server since its only meant to work on the browser side. This is why you see this error.

You would usually fire Meteor.loginWithGithub() in the event listener for when they click a button or some UI element to begin the login process.

Another thing to keep in mind is Session (Session.get, Session.set, etc) only work on the client too.

To see which methods run where use the Meteor documentation. In the top corner of each method it shows where the code can run: Client, Server or Anywhere.



来源:https://stackoverflow.com/questions/24078912/meteor-setup-accounts-github-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!