【问题标题】:OAuth : After being authenticated, use access token through routesOAuth : 认证后通过路由使用访问令牌
【发布时间】:2021-01-30 13:55:05
【问题描述】:

我有点难以理解 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);
  })
}

不是最佳做法。但是我该如何恢复访问令牌呢?

任何帮助/评论都会受到好评。谢谢!

【问题讨论】:

    标签: node.js express passport.js spotify


    【解决方案1】:

    据我所知,您指出的“非最佳实践”部分是在您的流程中保存 accessToken 的唯一可能性。 第二个 sn-p 正是您创建用户帐户并将其保存到例如的位置。一个数据库。这样做还可以保存 accessToken 和 refreshToken。

    【讨论】:

    • 那么,我应该实现一个数据库逻辑吗?这听起来不错,但我认为将 oauth 与 Spotify 一起使用(例如)我可以避免创建数据库逻辑。我还认为使用 express-session 我可以通过我的应用程序恢复访问令牌。
    • 当然,最终如何存储访问令牌完全取决于您。您也可以将其放入会话中,这实际上取决于您的应用。
    猜你喜欢
    • 2021-10-09
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2016-12-03
    相关资源
    最近更新 更多