首页 > 解决方案 > 使用 Spotify 授权端点时的 CSRF 保护

问题描述

我正在尝试实现我的用户将他们的 Spotify 帐户链接到他们在我的应用程序中的个人资料的功能。在 Spotify 的官方API 文档中,它表示STATE在端点上执行请求时应提供该字段/authorize以避免 CSRF 攻击。

但是,在我的特定情况下,我不太了解这种方法。我的客户端应用程序是适用于 iOS 的移动应用程序,它使用 JSON Web 令牌进行身份验证。只有在检测到正确的令牌后,我的服务器才会将 Spotify API 的授权链接返回给客户端,从而允许用户授权我的应用程序。因此,CSRF 请求是不可能的,对吧?

成功授权后,Spotify api 调用预定义的回调,将最初提供的STATE字段附加为 URL 查询项。

我想知道我是否可以只提供发出请求的帐户的用户 ID,以便成功回调包含对我数据库中用户帐户的引用,从而允许我的服务器快速链接返回的访问和刷新令牌到它。

但是,为该STATE字段提供用户 ID 将不符合RFC6749标准,因为它不是一个不透明的值。

现在我想请教一下我是否应该使用 STATE 字段。如果是这样,我可以只插入当前帐户的用户 ID,因为这会为我简化事情,还是必须是随机生成的值?

标签: node.jssecurityoauth-2.0jwtspotify

解决方案


推荐阅读