过去一天我一直在研究这个问题,似乎无法弄明白。我正在使用此Passport-Soundcloud来实现soundcloud身份验证。然而,我不明白的是我如何获得,并将身份验证令牌传递给前端按钮推送到声音。
我的前端代码如下:
function allowLike(){
$('.queueTrack').off('click').on('click', function(user){
console.log('clicked');
SC.put('/me/favorites/' + 21928809);
consol.log('sound liked')
});
};
每当我尝试使用/ login路由登录我的应用程序时,它会按预期工作并将我重定向到我的主页。问题是我不知道如何从passport-soundcloud获取oauth令牌,因此我可以将其实现到前端点击事件中。
我的路线遵循护照 - 声音云指示,似乎有效,但我无法弄清楚如何获得oauth令牌......
有什么想法吗?我完全迷失了。
答案 0 :(得分:1)
所以,我不熟悉soundcloud api的具体细节。但如果它遵循流行的oauth apis的基本模式。然后你会想做这样的事情。
在最初的oauth流程中......
function(accessToken, refreshToken, profile, done) {
User.findOrCreate({
soundcloudId: profile.id,
token: accessToken // <--- store the token!
}, function (err, user) {
return done(err, user);
});
}
然后当他们点击
时app.put('/me/favorites/12345' function(req, res) {
var id = req.user.id; // <--- passport and connect session saved the user id for you
// lookup the token in your database
// use the token to hit the soundcloud api
})
我希望这有点道理。这是完全未经测试的伪代码。