Soundcloud 使用 NodeJS 登录和喜欢声音问题 - 401 未经授权
Soundcloud Login with NodeJS and Liking Sounds Issue - 401 Unauthorized
我过去一天一直在研究这个问题,似乎无法弄清楚。 我正在使用这个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 路由通过我的应用程序登录时,它都会按预期工作并将我重定向到我的主页。 问题是我不知道如何从护照声音云中获取 oauth 令牌,以便我可以将其实现到前端点击事件中。
我的路线遵循了护照-声云说明,似乎有效,但我不知道如何获得 oauth 令牌......
有什么想法吗? 我完全迷失在这一点上。
所以,我不熟悉 soundcloud API 的具体细节。 但如果它遵循流行的oauth apis的基本模式。 然后你会想要做这样的事情。
- 用户在没有 cookie 的情况下到达您的网站
- 他们使用 OAuth 授权你的应用
- 当用户被重定向回您的应用程序时,SoundCloud 将为您提供此用户的访问密钥。 将此值存储在数据库、缓存或内存中。 但最重要的是,您必须在该用户的浏览器上创建一个cookie。这样当它们返回时,您可以再次查找访问密钥。
- 当用户点击喜欢时,在后端查找访问密钥并使用该令牌点击 SoundCloud api。
在最初的 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
})
我希望这有某种意义。 这是完全未经测试的伪代码。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- Reactjs,redux授权注销问题
- Soundcloud 使用 NodeJS 登录和喜欢声音问题 - 401 未经授权
- 如何解决ASP.NET中Ajax调用的授权问题
- 在localStorage中存储HTTP Basic授权标头是否存在任何安全问题
- Angular Refresh令牌授权问题
- Angular中post请求授权的问题