OAuth : 认证通过后,通过路由使用access token
OAuth : After being authenticated, use access token through routes
我在尝试理解 OAuth 流程时遇到了一点困难。我目前正在使用 Spotify API,并且我使用 passportjs 来验证用户。我不明白的是,既然用户已经通过身份验证,如何从我的应用程序进行 api 调用。
Here 是我的应用程序的完整代码,但是在这部分,我如何访问 access_token 来获取播放列表数据?
app.get('/playlists', ensureAuth, async(req,res,next) => {
let playlists_url = `https://api.spotify.com/v1/users/${req.user.id}/playlists`;
res.render('playlists')
})
因为有人告诉我,将访问令牌存储在这部分的某处
function(accessToken, refreshToken, expires_in, profile, done) {
process.nextTick(function(){
return done(null, profile);
})
}
不是最佳做法。但是我该如何恢复访问令牌呢?
任何 help/comment 都受到好评。谢谢!
据我所知,您指出的“不是最佳实践”的部分是在您的流程中保存 accessToken
的唯一可能性。
第二个片段正是您创建用户帐户并将其保存到例如一个数据库。这样做你还可以保存 accessToken
& refreshToken
.
我在尝试理解 OAuth 流程时遇到了一点困难。我目前正在使用 Spotify API,并且我使用 passportjs 来验证用户。我不明白的是,既然用户已经通过身份验证,如何从我的应用程序进行 api 调用。
Here 是我的应用程序的完整代码,但是在这部分,我如何访问 access_token 来获取播放列表数据?
app.get('/playlists', ensureAuth, async(req,res,next) => {
let playlists_url = `https://api.spotify.com/v1/users/${req.user.id}/playlists`;
res.render('playlists')
})
因为有人告诉我,将访问令牌存储在这部分的某处
function(accessToken, refreshToken, expires_in, profile, done) {
process.nextTick(function(){
return done(null, profile);
})
}
不是最佳做法。但是我该如何恢复访问令牌呢?
任何 help/comment 都受到好评。谢谢!
据我所知,您指出的“不是最佳实践”的部分是在您的流程中保存 accessToken
的唯一可能性。
第二个片段正是您创建用户帐户并将其保存到例如一个数据库。这样做你还可以保存 accessToken
& refreshToken
.