第三方登录集成

一、Google

唯一标识 sub

二、telegram

参考链接:https://juejin.cn/post/7072557507595485221

唯一标识 id

核心参数配置

  • /setdomain:控制 "在哪里显示" (前端域名)

  • data-auth-url:定义 "数据发去哪" (后端接口)

1、BotFather创建机器人
  1. /start

  2. /newbot

  3. 输入机器人名称(以bot结尾) Done:成功

  4. /setdomain (去掉https://) 公网可访问的重定向URL

2、验证规则
  1. 准备数据字符串:将收到的 除 hash 之外 的所有字段(如 auth_date, first_name, id, username),按字段名字母顺序排序,用换行符 \n 连接成 key=value 的形式。 示例auth_date=1234567890\nfirst_name=张三\nid=987654321\nusername=zhangsan

  2. 计算密钥:将你的 Bot Token 进行 SHA256 哈希运算,得到的结果作为 HMAC 计算的密钥。

  3. 计算并比对签名:使用上一步得到的密钥,对第一步生成的数据字符串计算 HMAC-SHA256,并将结果转换为十六进制字符串。将此结果与收到的 hash 参数进行精确比对。

补充:本地调试需公访问可借助ngrok内网穿透请求转发

  • 启动服务:先启动后端服务,再启动ngrok (ngrok http 9218)
  • 复制ngrok地址:复制 https://xxxx.ngrok.io

大致流程

1、google:返回authorizeUrl 授权链接

String authorizeUrl = authRequest.authorize(AuthStateUtils.createState());

2、telegram:前端嵌入script代码直接跳转授权链接
相关推荐
星浩AI32 分钟前
OpenHuman 对比 OpenClaw、Hermes Agent
人工智能·后端·agent
小江的记录本37 分钟前
【Java基础】泛型:泛型擦除、通配符、上下界限定(附《思维导图》+《面试高频考点清单》)
java·数据结构·后端·mysql·spring·面试·职场和发展
geovindu3 小时前
go: Semaphore Pattern
开发语言·后端·设计模式·golang·企业级信号量模式
IT_陈寒3 小时前
Redis内存用爆了,原来我们都忽略了这个配置
前端·人工智能·后端
武子康3 小时前
Java-02 深入浅出MyBatis 3 快速入门:环境配置、项目创建与 CRUD 操作
java·后端
未若君雅裁4 小时前
Spring Boot 自动配置原理与常用注解
java·spring boot·后端
Xiacqi14 小时前
Java数据库连接--JDBC--DRUID
数据库·后端
浮游本尊4 小时前
用结构化 Prompt 让大模型「干活」:以数据库巡检告警建议生成为例
后端
snakeshe10104 小时前
SpringBoot 多人协作平台实战(8):Cookie 与登录状态维持
后端
代码北人生4 小时前
后端工程师开始用 Claude Code 了,Stripe 4天完成了本来要10个工程师周的迁移
后端·claude