【问题标题】:Where do I persist the Spotify access token?我在哪里保留 Spotify 访问令牌?
【发布时间】:2015-06-06 16:03:00
【问题描述】:

所以我的所有身份验证都在我的 MVC 网站上工作,但我想问:在我的应用程序中传递访问令牌的推荐方法是什么?

所以,我单击登录,弹出一个对话框并登​​录。我的父窗口收到访问令牌,我得到一些播放列表。但是如果我转到另一个页面,那将是一个全新的请求呢?我是在查询字符串中传递它,还是在会话中传递它,或者可能是一个 cookie?我已经为此搜索了 API 文档,但找不到任何相关信息。

【问题讨论】:

    标签: spotify spotify-app


    【解决方案1】:

    我会说您应该将其存储在您发出请求的一侧。如果请求是在客户端完成的,则将访问令牌保留在客户端。您可以使用localStorage 将其持久化,就像在web api player example 中所做的那样。这样,您可以在需要发出请求时从 localStorage 读取并使用它直到它过期。

    然后,如果您使用过authorization code flow,您将需要刷新它,这样用户就不需要每 60 分钟登录一次。为此,您需要从服务器发出请求,因为刷新过程涉及发送您不想在浏览器中提供的密钥。您可以将刷新令牌存储在服务器中(例如,在存储用户 刷新令牌的数据库表中)或浏览器的本地存储中,当您想要刷新它时将其发送到服务器。

    您也可以将其存储为 cookie,但如果服务器不需要知道它,则 localStorage 更好。

    【讨论】:

    • 迟到的评论,但是否存在将其存储在 localStorage 中的安全漏洞?
    【解决方案2】:

    我认为身份将保存有关已登录用户的所有详细信息。如果我们想要额外的东西,我们可以扩展它。

    以下链接可能会有所帮助: http://www.codeproject.com/Tips/574576/How-to-implement-a-custom-IPrincipal-in-ASP-NET-MV

    【讨论】:

      猜你喜欢
      • 2014-01-04
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 2019-05-06
      • 1970-01-01
      • 2018-03-20
      相关资源
      最近更新 更多