我在哪里保存 Spotify 访问令牌?
Where do I persist the Spotify access token?
所以我的所有身份验证都在我的 MVC 网站上工作,但我想问:在我的应用程序中传递访问令牌的推荐方法是什么?
所以,我点击登录,弹出一个对话框,然后我登录。我的 parent window 收到访问令牌,我得到了一些播放列表。但是,如果我转到另一个页面,那将是一个全新的请求怎么办?我是在查询字符串上传递它,还是在会话中传递它,或者可能是一个 cookie?我已经为此搜索了 API 文档,但找不到任何相关信息。
我认为身份将包含有关已登录用户的所有详细信息。如果我们想要额外的东西,我们可以扩展它。
以下 link 可能有所帮助:
http://www.codeproject.com/Tips/574576/How-to-implement-a-custom-IPrincipal-in-ASP-NET-MV
我会说你应该把它放在你发出请求的那一边。如果请求是在客户端完成的,则将访问令牌保留在客户端。您可以使用 localStorage
来持久化它,就像在 web api player example 中所做的那样。这样你就可以在需要发出请求时从 localStorage 读取并使用它直到它过期。
然后,如果您使用了 authorization code flow,您将需要刷新它,这样用户就不需要每 60 分钟登录一次。为此,您需要从服务器发出请求,因为刷新过程涉及发送您不想在浏览器中使用的秘密。您可以将刷新令牌存储在服务器中(例如,在数据库中 table 存储用户 <-> 刷新令牌)或在浏览器的本地存储中,当您想要刷新它时将其发送到服务器。
您也可以将其存储为 cookie,但如果服务器不需要知道它,localStorage 会更好。
所以我的所有身份验证都在我的 MVC 网站上工作,但我想问:在我的应用程序中传递访问令牌的推荐方法是什么?
所以,我点击登录,弹出一个对话框,然后我登录。我的 parent window 收到访问令牌,我得到了一些播放列表。但是,如果我转到另一个页面,那将是一个全新的请求怎么办?我是在查询字符串上传递它,还是在会话中传递它,或者可能是一个 cookie?我已经为此搜索了 API 文档,但找不到任何相关信息。
我认为身份将包含有关已登录用户的所有详细信息。如果我们想要额外的东西,我们可以扩展它。
以下 link 可能有所帮助: http://www.codeproject.com/Tips/574576/How-to-implement-a-custom-IPrincipal-in-ASP-NET-MV
我会说你应该把它放在你发出请求的那一边。如果请求是在客户端完成的,则将访问令牌保留在客户端。您可以使用 localStorage
来持久化它,就像在 web api player example 中所做的那样。这样你就可以在需要发出请求时从 localStorage 读取并使用它直到它过期。
然后,如果您使用了 authorization code flow,您将需要刷新它,这样用户就不需要每 60 分钟登录一次。为此,您需要从服务器发出请求,因为刷新过程涉及发送您不想在浏览器中使用的秘密。您可以将刷新令牌存储在服务器中(例如,在数据库中 table 存储用户 <-> 刷新令牌)或在浏览器的本地存储中,当您想要刷新它时将其发送到服务器。
您也可以将其存储为 cookie,但如果服务器不需要知道它,localStorage 会更好。