测试平台系列(39) 接入github第三方登录(下)

简介: 接入github第三方登录(下)

测试平台系列(38) 接入github第三方登录(下)

大家好,这里是米洛,一个想和大家一起分享测试开发相关的技术,面试经验和成长经历的博主!


上篇我们想好了具体的思路,这篇就来实现之。

实现9.jpg


其实后端要做的部分很简单,只需要完成后面2步即可,即生成token和获取用户信息。

  • 编写register_for_github方法
    当从github获取到用户信息以后,写入我们自己的用户表,如果有则更新用户信息,如果没有则新增一条记录。


image

先查询到email和username都匹配的用户,如果有,我们就更新用户的昵称和头像字段,并更新他的最后登录时间

如果没有该用户,我们就新生成一个用户。这里随机了几位数字加盐,保证用户的密码是随机的,如果通过github登录的用户,基本上不太容易试出他在测试平台用户表的密码

  • 编写github登录接口

10.jpg

image

请求参数为code,这里用到了requests的Session类,因为此处需要发送2次http请求。

  1. 获取access_token

url: https://github.com/login/oauth/access_token

method: GET/POST都可以

参数: code,clientid和secret,也就是前文要求记录的2个字段

返回数据是这样的:

11.jpg

image

一串很普通的文本,我们需要从里面拿到access_token

  1. 获取用户信息

url: https://api.github.com/user

method: GET

headers: {"Authrozation": "token 刚才生成的token"}

这样就能拿到用户信息了:

12.jpg

image

可以看到里面有login(登录名),email(邮箱),name(昵称),其他有用的信息我们可以取avatar_url,方便我们能直接拿对方的头像来展示。

前端部分

前端部分我已经实现了,大概思路是提供github登录的按钮,当用户进入页面的时候判断url里面是否包含?code=, 如果有则说明是github登录成功后的回调事件,再将code解析后调用上面编写的login接口,其他逻辑与普通用户登录一致。

大家有兴趣可以研究下具体的实现,写的比较糙,可以通过提交记录来看到对应的改动~

github提速可以参考这个,亲测有效:




相关文章
|
2月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
130 2
|
4月前
|
分布式计算 测试技术 Spark
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
665 0
|
2天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
18 0
|
1月前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之体验产品的美颜测试关掉如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
24 1
|
2月前
|
测试技术
Lim测试平台测试报告说明
Lim测试平台测试报告说明
32 2
|
2月前
|
SQL 测试技术 数据库连接
Lim接口测试平台-接口测试功能详解
Lim接口测试平台-接口测试功能详解
41 1
|
2月前
|
SQL 监控 测试技术
Lim测试平台变量使用规则介绍
Lim测试平台变量使用规则介绍
27 0
|
2月前
|
测试技术
使用Lim测试平台快速完成批量造数
使用Lim测试平台快速完成批量造数
31 1
|
2月前
|
SQL JSON 监控
Lim测试平台快速上手教程
Lim测试平台快速上手教程
39 0