使用其他提供商身份验证服务(如 Soundcloud)时令牌身份验证的安全性?

Posted

技术标签:

【中文标题】使用其他提供商身份验证服务(如 Soundcloud)时令牌身份验证的安全性?【英文标题】:Security in token auth when using other provider authentications services such as Soundcloud? 【发布时间】:2015-03-15 11:03:01 【问题描述】:

Soundcloud Connect 按钮的用户登录过程

    按下网站上的按钮并使用 api 服务器生成的随机令牌启动会话,而无需在 Soundcloud 上对用户进行身份验证。 用户被重定向到 Soundcloud 身份验证页面(soundcloud 登录页面)。 用户应输入他/她的 Soundcloud 帐户信息。 按下连接后,在 api 端调用的方法根据 SoundCloud 发送的参数创建用户及其身份验证。并且 api 服务器将用户重定向到主页,客户端中的脚本将令牌设置为标头作为对网站的授权。

现在,我担心的是在用户通过 soundcloud 连接之前启动会话,即使用户不连接到 SoundCloud 就无法进入主页。

这种验证用户的技术是否安全?潜在的攻击是什么?

【问题讨论】:

这个问题更适合:security.stackexchange.com 【参考方案1】:

这种方法会使您容易受到会话固定的影响。

攻击场景如下:

    攻击者诱骗用户使用已知会话密钥(通常通过 XSS 等其他漏洞) 用户通过 SoundCloud 进行身份验证,会话密钥保持不变 攻击者使用相同的会话密钥连接到您的应用程序,从而接管会话。

虽然这种攻击不是很常见,但它经常出现,标准程序是在任何身份验证发生后始终发出新的会话密钥。

【讨论】:

以上是关于使用其他提供商身份验证服务(如 Soundcloud)时令牌身份验证的安全性?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何为 Firebase 身份验证创建新的联合身份提供程序

使用 Strava 提供程序进行 Firebase 身份验证

Openstack之二:服务认证keystone

Firebause身份验证:已发送但未在特殊电子邮件地址(如*@gmx.at)上收到的电子邮件

为用户和身份验证使用解析服务器并调用其他内部 REST Web 服务

配置CDH使用Kerberos身份服务