测试平台系列(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提速可以参考这个,亲测有效:




相关文章
|
29天前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
172 116
【分享】AgileTC测试用例管理平台使用分享
|
27天前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
1月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
1月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
2月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
4月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
96 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
29天前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
2月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论
|
2月前
|
人工智能 安全 数据可视化
安全测试平台的选型标准与搭建思路
随着企业安全需求升级,传统漏洞扫描和渗透测试已无法满足要求。构建安全测试平台(STP)成为趋势,实现漏洞扫描、权限评估、接口测试等工作的平台化运营。本文从选型标准、平台架构、模块功能等六个方面,系统讲解如何搭建企业级安全测试平台,提升安全能力。
|
2月前
|
安全 网络安全 数据安全/隐私保护
解决SSH测试连接GitHub时出现“connection closed by remote host”的问题。
然后使用 `ssh -T git@ssh.github.com`来测试连接。
310 0

热门文章

最新文章