我目前正在与Meteor和React合作开发一个项目,并且试图添加GitHub身份验证。我没有收到任何错误,但是当我单击GitHub登录名时,它只是打开身份验证页面并立即关闭它,并且登录状态没有更改(参考:https://www.novaterra.earth/signup)。
我为此使用Meteor.loginWithGithub(),但是我需要首先运行登录方法吗?我已经在Github上设置了所有身份验证,当我单击弹出窗口时,看起来确实创建了帐户:
https://drive.google.com/file/d/1_0ZQMMbH2KusJvrZlzhEU15Uh8uQSlze/view?usp=sharing
但是,在我的应用程序上,登录状态没有更改,并且我的数据库(mlab)没有显示添加的新用户。
我的代码如下:
Signup.js:
<div onClick={() => this.gitHubLogin()} className="signup__loginWithGithub">
<FontAwesomeIcon icon={['fab', 'github']} className={`signup__loginWithGoogleIcon`} />
<div className="signup__loginWithGoogleText">Sign in With Github</div></div>
gitHubLogin() {
Meteor.loginWithGithub({
requestPermissions: ['user'],
}, function (err) {
console.log('is there an error?', err);
});
}
Main.js(服务器):
ServiceConfiguration.configurations.remove({
service: "github"
});
ServiceConfiguration.configurations.insert({
service: "github" ,
loginStyle: "popup",
clientId: "xxx",
secret: "xxx"
});
因此,总而言之,我希望这段代码在我的应用程序上创建一个新帐户并登录,但是由于某种原因,我只弹出了一个弹出窗口,而未发生其他任何事情。
如果还有其他问题,请随时询问!
谢谢您的帮助,
橄榄