我想知道是否可以模拟oAuth(1,2)身份验证流程。我想测试而不需要连接到提供者本身。它应该是可能的,因为它只是一些通信交换。我不是在寻找像this那样仍然可以与远程服务器通信的东西。我想在测试时完全离线。
也许我可以运行自己的oAuth服务器。我应该使用Google oAuth服务,因此服务器的行为应该与他们一样。谷歌是否为他们的oAuth服务器提供了一些代码,或者是否可以创建一些假的服务器。注意测试应该是更多的集成测试。我想命令服务器返回一些预定义的响应。切换到实时oAuth提供程序只会更改远程URL。
也许只有一些http服务器可以,我只需要关心正确的通信消息格式。
答案 0 :(得分:2)
查看Spring Reference文档的Client Side REST Tests部分。有了这种支持,您可以轻松伪造服务器并将所需行为记录到MockRestServiceServer
。
答案 1 :(得分:1)
请参阅以下步骤模拟OAuth2令牌,以便使用SOAPUI更快地进行本地开发。
<强>步骤:强>
创建一个REST soapUI项目,为URL&#34; http://localhost:9045/oauth/token&#34;创建一个POST资源。
为上述资源创建模拟服务。
如下所示创建模拟响应,您可以根据需要添加自己的参数和值。
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.bundle.min.js"></script>
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<h1 class="mb-3">hello</h1>
<button id="green-btn" class="btn btn-lg btn-primary mt-4">Start your free trial</button>
</div>
<div class="col-md-6">
<img id="pic1" style="display: width:100vh;height: 90vh;" src="https://via.placeholder.com/350x150">
<img id="pic2" style="display:none; width:100vh;height: 90vh;" src="https://via.placeholder.com/200x100"></div>
</div>
</div>
启动模拟服务。
模拟响应:
Mock Oauth2 SOAPUI测试: