案例之授权码模式测试|学习笔记

简介: 快速学习案例之授权码模式测试

开发者学堂课程【Spring Security知识精讲与实战演示(四)案例之授权码模式测试】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/733/detail/13089


案例之授权码模式测试

 

一、授权码模式测试

在地址栏访问地址:http://localhost:9001/oauth/authorize/response type=code&client id=heima one

授权码模式测试要注意请求路径前面IP地址和端口号是你自己系统的IP地址和端口号,后面的顺序不能改变,因为处理器地址不是我们自己提供的。接下来要在里面加上response type=code这个返回的是授权码的方式,也是不能改变的,client id,这个是根据自己的id,比如现在这里写的是one,如果注册的是two就得改成two, 按理说地址到这就完成了,但如果不是将客户端信息写到了数据库,而是写到了内存,就需要往后面加入认证的ULL地址,具体做法是在后面写上如下字段:

image.png

image.png

如上图跟上ULL地址,但不建议这么做,如果是保存到数据库了,之前已经配置了客户端服务器如下:

image.png

只需给它一个ID,它会自动去数据库将这条数据查询出来,浏览器打开http://localhost:9001/oauth/authorize/response type=code&client id=heima one

这一步相当于之前讲的A系统要向B系统申请授权码,要将one改成two,因为现在在数据中注册的是two用户,下面页面是认证页面:

image.png

因为在主配的文件配置了,需要指定一个认证页面,是没有权限可以访问,如果这一步没有配置就无法跳过,所以一定要配置。

1、中间测试可能出现的环境问题如下:

A系统要访问B系统,它希望用户给与A系统访问B系统的权限,首先用户的有B系统的访问权限,就必须登陆B系统,此时登陆指的是sys_users登录,用户名就应该用sys_users。登录完成后如下界面:

image.png

此时B系统会询问用户能否让A系统访问,如果允许访问就选择Approve,不允许就选择Deny,允许才能继续测试,这个界面要想看见后面不能写two,要注意scope,一个是读一个是写,需要哪种选哪种。点了Authorize后才算是授权了,A系统就有操作B系统的权限了,要注意A系统client账号,只能操作一个资源。此时百度不能访问。

image.png

此地址不是真正的地址,真正的地址应该是这个回掉给A,K9KmD1为授权码,目前它不能访问B系统,因为授权码不安全,要拿着授权码去B系统申请一个token通行的一个令牌。地址是固定的,需要在地址栏写上oauth/token,必须这么写不能乱写。

image.png

传参要注意不能乱填,首先code一定得这么写后面得严格写地址栏得到的code,上面的模式也不能写错,必须写授权码模式,得写authorization code。在实际开发中,刚才的回标地址是访问A系统一个真正可访问的地址,如果这样应该在A系统内部将这个单词直接写死,让用户不要有潜在机会。

client_id为two。指用的第二个来访问,接下来还要写username和password。username是用户名称,

password 写上123。接下来就可以申请通行令牌。

这里面第一个就是获得的token

image.png

开始访问资源,来到如下界面直接访问:

image.png

因为没有权限是行不通的,要获得权限得在后面加上令牌。

image.png

再访问就能成功。到此授权码模式的测试就通过了。

2、总结步骤:

首先在地址栏发出授权码的请求,请求几乎是固定的,如果已经登录了就不会出现登录界面,没有登录则会让你登录,登录界面之后会让你选择是否给予访问权限的界面,给了就能访问,否则不能访问。如果给了之后会跳转然后调出授权码,这地方地址应写A系统中可以将授权码直接转成通行令牌的一个处理器地址。得到通行令牌后,之后访问都要携带通行令牌。用户名和密码可以不写。

相关文章
|
1月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
175 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
26 2
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
61 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
1月前
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
40 1
|
2月前
|
前端开发 机器人 测试技术
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
42 6
【RF案例】Web自动化测试弹窗处理
|
1月前
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
39 0
|
5月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
47 3
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
5月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
85 1
|
5月前
|
Java
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
JavaSE——集合框架二(6/6)-(案例)补充知识:集合的嵌套(需求与分析、问题解决、运行测试)
77 0