vk.com 認証用にsatellizerを構成しようとしています。ただし、認証しようとすると、500 内部サーバー エラーが発生し続けます。これが私の構成です:
クライアント側:
$authProvider.oauth2({
name: 'vkontakte',
url: '/auth/vk',
redirectUri:window.location.origin || window.location.protocol + '//' + window.location.host,
clientId: 'my-client-id',
authorizationEndpoint: 'http://oauth.vk.com/authorize',
scope: 'friends, photos, email, photo_big',
display: 'popup',
responseType: 'code',
requiredUrlParams: ['response_type', 'client_id', 'redirect_uri', 'display', 'scope', 'v'],
scopeDelimiter: ',',
v: '5.37'
});
サーバー側ルーティングの関連部分:
//vkontakte
app.post('/auth/vk', function(req, res) {
var accessTokenUrl = 'https://oauth.vk.com/access_token';
var params = {
code: req.body.code,
client_id: req.body.clientId,
client_secret: config.auth.facebook.clientSecret,
redirect_uri: req.body.redirectUri
};
request.get({ url: accessTokenUrl, qs: params, json: true }, function(err, response, accessToken) {
if (response.statusCode !== 200) {
return res.status(500).send({ message: accessToken.error.message });
}
var graphApiUrl = 'https://api.vk.com/method/users.get?user_id=' + accessToken.user_id +'&access_token=' + accessToken;
request.get({ url: graphApiUrl, qs: accessToken, json: true }, function(err, response, profile) {
...
});
});
});
私は何か間違ったことをしているようです。Facebook 認証は正常に機能するため、問題は構成にある可能性が最も高いです。誰にもアイデアはありますか?