如何使用空手道实现基本身份验证?
Posted
技术标签:
【中文标题】如何使用空手道实现基本身份验证?【英文标题】:How to implement Basic Auth using Karate? 【发布时间】:2021-06-30 16:32:50 【问题描述】:I saw details about Oauth 2 in Karate Demo , Can you also provide how to implement Basic Auth ?
【问题讨论】:
【参考方案1】:是的,这个JS函数就是你所需要的:
function(creds)
var temp = creds.username + ':' + creds.password;
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(temp.getBytes());
return 'Basic ' + encoded;
然后使用这个函数来构建Authorization
标头的值:
* header Authorization = call read('basic-auth.js') username: 'john', password: 'secret'
请参阅此处的文档:https://github.com/intuit/karate#http-basic-authentication-example
对于 OAuth 或“登录表单”类型的流程,请参阅:https://***.com/a/58643689/143475 和 https://***.com/a/46333729/143475
【讨论】:
这个功能很有帮助,但由于某种原因它对我不起作用。我不得不将这一行:var encoded = Base64.getEncoder().encodeToString(temp.bytes);
修改为:var encoded = Base64.getEncoder().encodeToString(temp.getBytes());
@PeteLoggie 谢谢,我编辑了答案。这发生在我们在 1.X 中更改 JS 引擎时:github.com/intuit/karate/wiki/…
对不起,上面的信用是什么?以上是关于如何使用空手道实现基本身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 YAML、tavern 和 pytest 使用基本身份验证测试 API
如何使用默认域在 Web.config 中启用基本身份验证和匿名身份验证?
如何在同一应用程序中使用 spring-sample 示例配置 Spring Security 基本身份验证和 SAML 身份验证