放心使用摘要认证

沃姆

我有一个带有其余服务的正常工作的spring-mvc应用程序和一些可以确保正常运行的测试:

@Test
public void createFoobarFromScratchReturns201(){
    expect().statusCode(201).given()    
    .queryParam("foo", generateFoo())
    .queryParam("bar", generateBar())
    .when().post("/foo/bar/");
}

=> OK

然后,我实现了摘要身份验证。一切正常,现在我必须登录才能使用我的服务:

curl http://localhost:8089/foo/bar
=> HTTP ERROR 401,  Full authentication is required to access this resource

curl http://localhost:8089/foo/bar --digest -u user_test:password
=> HTTP 201, CREATED

但是,当我尝试使用最明显的功能升级测试时,仍然出现401错误:

@Test
public void createFoobarFromScratchReturns201(){
    expect().statusCode(201).given()    
    .auth().digest("user_test", "password") // Digest added here
    .queryParam("foo", generateFoo())
    .queryParam("bar", generateBar())
    .when().post("/foo/bar/");
}

=> Expected status code <201> doesn't match actual status code <401>

我发现了preemptive()函数的一些线索,但似乎仅针对basic实现了:

// Returns an AuthenticatedScheme and stores it into the general configuration
RestAssured.authentication = preemptive().basic("user_test", "password");

// Try a similar thing, but it didn't work :
RestAssured.authentication = RestAssured.digest("user_test", "password");

目前,我正在努力实现两件事:

  • 我需要升级几个测试以支持摘要
  • 我需要修改其余测试套件(与身份验证问题无关)@Before,以便已经登录。

有任何想法或文档吗?

弗拉基米尔·谢弗

尝试通过以下方式在Rest保证中嵌入的HTTP客户端中启用对cookie的支持:

 RestAssuredConfig config = new RestAssuredConfig().httpClient(new HttpClientConfig().setParam(ClientPNames.COOKIE_POLICY, CookiePolicy.BEST_MATCH));

 expect().statusCode(201).given()    
 .auth().digest("user_test", "password") // Digest added here
 .config(config)
 .queryParam("foo", generateFoo())
 .queryParam("bar", generateBar())
 .when().post("/foo/bar/");

HTTP客户端(并因此具有Rest Assured)支持摘要身份验证,并且使用该digest方法配置RestAssured效果很好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

放心使用作为通用的HTTP客户端

来自分类Dev

apache2摘要认证

来自分类Dev

使用放心时的 SAXParseException

来自分类Dev

使用可放心的弹簧引导集成测试

来自分类Dev

如何使用放心调用Web服务

来自分类Dev

使用Google Maps API放心的简单测试

来自分类Dev

使用django认证系统

来自分类Dev

正确使用摘要

来自分类Dev

使用PowerMock在放心测试中模拟静态类

来自分类Dev

使用放心创建动态xml有效负载

来自分类Dev

使用Firebase进行指纹认证

来自分类Dev

如何使用Android进行摘要?

来自分类Dev

使用lapply的数据集摘要

来自分类Dev

使用Java的体育游戏摘要

来自分类Dev

使用dplyr添加摘要行

来自分类Dev

使用PHP的摘要值错误

来自分类Dev

如何使用Android进行摘要?

来自分类Dev

使用YQL检索业务摘要

来自分类Dev

解析使用Auth0认证的用户

来自分类Dev

使用Volley进行令牌认证

来自分类Dev

使用sequelize进行护照js本地认证

来自分类Dev

使用OAuthWebSecurity和Facebook强制重新认证

来自分类Dev

仅使用令牌的OpenId Connect重新认证

来自分类Dev

使用LDAP认证的Spring Boot REST API

来自分类Dev

使用swiftUI进行生物特征认证评估

来自分类Dev

Spring何时在内存认证中使用

来自分类Dev

ssh密码认证:使用图形提示?

来自分类Dev

使用OAuthWebSecurity和Facebook强制重新认证

来自分类Dev

使用imageresizer和IVirtualImageProvider的认证和授权