Reputation: 391
I saw details about OAuth2 in Karate Demo. Can you also provide how to implement Basic Auth?
Upvotes: 6
Views: 15542
Reputation: 58058
Yes, this JS function is all you need (basic-auth.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;
}
And then use this function to build the value of the Authorization
header:
* header Authorization = call read('basic-auth.js') { username: 'john', password: 'secret' }
Refer to the docs here: https://github.com/intuit/karate#http-basic-authentication-example
For OAuth or "login form" kinds of flows, see: https://stackoverflow.com/a/58643689/143475 and https://stackoverflow.com/a/46333729/143475
Upvotes: 13