快手.md 1.9 KB

快手登录对接指南

概述

本文档描述了在项目中实现快手登录功能的完整流程,包括配置、接口设计、核心业务逻辑等。

项目依赖

在项目中已添加快手开放平台SDK依赖:

<dependency>
    <groupId>com.github.kwai.open</groupId>
    <artifactId>kwaishop-open-sdk</artifactId>
    <version>1.0.0</version>
</dependency>

配置文件

application.yml 配置

third:
  kuaishou:
    app-id: {你的快手AppId}
    app-secret: {你的快手AppSecret}
    redirect-uri: {回调地址,例如:https://yourdomain.com/third/kuaiShou/callback}

核心组件

控制器类 KuaiShouController

提供了以下接口:

  1. 获取扫码二维码接口: GET /third/kuaiShou/getQCode
  2. 检查绑定状态接口: GET /third/kuaiShou/judge/{code}
  3. 快手授权回调接口: GET /third/kuaiShou/callback

服务类 KuaiShouService

提供以下核心功能:

  1. 绑定快手账号
  2. 获取用户信息
  3. 获取访问令牌
  4. 视频发布功能

工作流程说明

  1. 用户访问获取二维码接口,系统生成唯一code并构造包含state参数的二维码URL
  2. 用户使用快手APP扫描二维码进行授权
  3. 快手平台回调配置的redirect_uri,并携带code和state参数
  4. 系统解析state参数获取用户ID和临时code
  5. 使用code换取access_token和openId
  6. 查询数据库中是否已存在该用户的绑定记录
  7. 如果已存在,则更新token信息;如果不存在,则新建绑定记录
  8. 清除临时code状态缓存
  9. 跳转到快手主页完成整个流程

数据存储

快手账号信息存储在 biz_social_accounts 表中,包含以下关键字段:

  • platform_id: 平台ID(值为"kuaishou")
  • user_id: 系统用户ID
  • account_id: 快手用户OpenId
  • oauth_access_token: 访问令牌
  • oauth_refresh_token: 刷新令牌
  • oauth_expires_at: 过期时间