抖音的登录主要分为两种场景:一是你作为用户在抖音App内登录自己的账号;二是第三方应用使用抖音账号来授权登录。这两种场景背后的原理有所不同,下面我为你详细解释。

为了让你快速了解核心区别,这里有一个表格:

方面 抖音App内账号登录 第三方抖音授权登录
场景 用户在抖音客户端登录账号 用户用抖音账号登录其他第三方应用或网站
核心技术 基于Token(令牌)的认证机制 基于OAuth 2.0授权码模式
关键凭证 设备信息与账号绑定的Token code(授权码)和access_token(接口调用凭证)
核心流程 首次输入密码或验证码后,服务器下发Token,后续用Token验证身份 用户同意授权后,第三方应用先换code,再用codeaccess_token

🔑 第三方抖音授权登录(OAuth 2.0)

这是一种安全的授权标准,让你无需将抖音账号密码告诉第三方应用,就能授权其获取你的部分信息。

核心流程如下

  1. 发起授权请求:你在第三方网站选择“抖音登录”,网站会引导你跳转到抖音的授权页面。

  2. 用户同意授权:在抖音的授权页,你会看到第三方应用申请获取哪些信息(如头像、昵称)。你点击同意后,抖音服务器会生成一个一次性的授权码(code),并通过回调地址回传给第三方应用。

  3. 换取访问凭证:第三方应用后台用自己的client_keyclient_secret,加上收到的code,向抖音服务器请求一个访问凭证(access_token)

  4. 调用接口:拿到access_token后,第三方应用就可以凭此调用抖音的开放接口(如获取你的基本公开信息)。

关于凭证有效期和刷新

  • access_token 有效期为15天

  • 同时会返回一个刷新令牌(refresh_token),有效期为30天

  • access_token过期前,可以使用refresh_token来刷新,获取新的access_tokenrefresh_token。通过合理刷新,最长授权周期可达195天

📱 抖音App内的登录方式

作为普通用户,你在抖音App内最常接触到的是以下几种登录方式:

  • 手机号验证码登录:最常用的方式,输入手机号获取短信验证码即可登录。

  • 账号密码登录:如果你设置过密码,可以使用此方式。

  • 第三方账号登录:支持使用头条、微博等平台的账号进行授权登录(需要注意的是,部分第三方授权如QQ、微信可能受限)。

无论使用哪种方式,其背后都遵循着基于Token的认证机制。简单来说,就是你首次登录成功后,服务器会验证你的身份(通过密码或验证码),然后生成一个与你设备信息绑定的Token返回给App。此后一段时间内,App在访问服务器时都会携带这个Token作为身份凭证,而无需你反复输入密码。

🔍 特别说明:二维码扫码登录

你可能也见过在抖音网页版等场景下,通过扫描二维码登录的方式。这其实是上述OAuth 2.0授权流程的一种具体实现,其原理可以概括为以下几个步骤:

  1. 生成二维码:PC端请求服务器生成一个包含唯一二维码ID的二维码,并开始轮询查询其状态。

  2. 扫码与确认:你用已登录的抖音App扫描二维码。App将扫码动作和手机端的身份Token发送给服务器,服务器将二维码状态更新为“已扫描”。随后你在手机端点击确认,服务器最终验证身份。

  3. 完成登录:服务器生成PC端可用的Token,PC端通过轮询获取到Token,完成登录。

💡 账号安全与授权管理

  • 查看/取消授权:你可以在抖音App内通过「我」->「设置」->「账号与安全」->「授权管理」的路径,查看或取消你对第三方应用的授权。取消授权后,对应的access_token会立即失效。

  • Token的安全性:在基于Token的机制中,Token通常与你的设备信息绑定。即使Token泄露,攻击者由于设备信息不同,也难以冒用你的身份。

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐