我正在使用https://github.com/meteor-helium/instagram包来处理Instagram登录。
在我的server / social-config.js中,我有
ServiceConfiguration.configurations.remove({
service: 'instagram'
});
ServiceConfiguration.configurations.insert({
service: 'instagram',
clientId: '****',
secret: '****'
});
在我的client / main.html中,我有
<template name="login">
{{#if currentUser}}
<button id="logout">Logout</button>
{{else}}
<button id="instagram-login" class="btn btn-default"> Login with Instagram</button>
{{/if}}
</template>
在我的client / main.js中,我有
Template.login.events({
'click #instagram-login': function(event) {
Meteor.loginWithInstagram({}, function(err){
if (err) {
throw new Meteor.Error("Instagram login failed");
}
});
},
'click #logout': function(event) {
Meteor.logout(function(err){
if (err) {
throw new Meteor.Error("Logout failed");
}
})
}
});
点击“使用Instagram登录”按钮
时出现以下错误Error in OAuth Server: Failed to complete OAuth handshake with Instagram. failed [400] {"code": 400, "error_type": "OAuthException", "error_message": "Invalid Client Secret"}
答案 0 :(得分:1)
我认为根据这个https://github.com/meteor-helium/instagram/blob/master/instagram_configure.js#L10
客户端密码属性名称应为clientSecret
,而不是secret
。
ServiceConfiguration.configurations.insert({
service: 'instagram',
clientId: '****',
clientSecret: '****'
});