第三方登录集成

一、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代码直接跳转授权链接
相关推荐
必胜刻6 分钟前
RESTful 基础:资源、路径与方法对应关系详解
后端·restful
XPoet22 分钟前
AI 编程工程化:Hook——AI 每次操作前后的自动检查站
前端·后端·ai编程
J2虾虾31 分钟前
在SpringBoot中使用Druid
java·spring boot·后端·druid
程序员小假1 小时前
为什么要有 time _wait 状态,服务端这个状态过多是什么原因?
java·后端
qwert10372 小时前
跨域问题解释及前后端解决方案(SpringBoot)
spring boot·后端·okhttp
90后的晨仔2 小时前
OpenClaw Windows 完整安装指南
后端
IT_陈寒3 小时前
Vue组件复用率提升300%?这5个高阶技巧让你的代码焕然一新!
前端·人工智能·后端
beata4 小时前
Spring Boot基础-2:Spring Boot 3.x 起步依赖(Starter)深度拆解:为什么引入一个依赖就够了?
spring boot·后端
享棣4 小时前
Win11 安装 Nacos 2.0.4 完整版文档 文档说明
后端
90后的晨仔4 小时前
windows安装 openclaw 报错
后端