87 lines
3.5 KiB
Plaintext
87 lines
3.5 KiB
Plaintext
meta {
|
|
name: Get Access Token nuevo
|
|
type: http
|
|
seq: 2
|
|
}
|
|
|
|
post {
|
|
url: https://keycloak.preprod.eco6.fr/auth/realms/GETWAY/protocol/openid-connect/token
|
|
body: formUrlEncoded
|
|
auth: bearer
|
|
}
|
|
|
|
params:query {
|
|
~grant_type: client_credentials
|
|
}
|
|
|
|
auth:bearer {
|
|
token: {{ws-access-token-partenaire}}
|
|
}
|
|
|
|
body:form-urlencoded {
|
|
grant_type: client_credentials
|
|
client_id: client ID fourni par objenious
|
|
client_assertion_type: urn:ietf:params:oauth:client-assertion-type:jwt-bearer
|
|
client_assertion: {{client_assertion}}
|
|
}
|
|
|
|
body:multipart-form {
|
|
grant_type: test
|
|
}
|
|
|
|
script:pre-request {
|
|
|
|
var rs = require('jsrsasign');
|
|
var rsu = require('jsrsasign-util');
|
|
|
|
var navigator = {};
|
|
var window = {};
|
|
|
|
function addIAT(data = {}) {
|
|
const currentTime = Math.floor(Date.now() / 1000); // temps actuel en secondes
|
|
data.iat = currentTime;
|
|
data.exp = currentTime + 5 * 60; // expire dans 5 minutes
|
|
return data;
|
|
}
|
|
|
|
|
|
var header = {"alg" : "RS256","typ" : "JWT","kid": "kid fourni par Objenious"};
|
|
var data = {
|
|
"sub" : "client ID fourni par Objenious",
|
|
"iss" : "client ID fourni par Objenious",
|
|
"aud" : "https://idp.docapost.io/auth/realms/GETWAY",
|
|
"jti": ""+new Date().getTime()
|
|
};
|
|
|
|
data = addIAT(data);
|
|
|
|
var privateKey = `-----BEGIN RSA PRIVATE KEY-----
|
|
MIIEpAIBAAKCAQEAuiuhIWRCshVLWhJJMsfmGPYKTpieLgI0wDSoiy1YAlf33h9T6scinV4nzdCP+WiVzGwrpd+BFzU++HFy2ivJlf+WyXFX2Z+ngageSDEixzhUjUCj5Sk96g8u+YEF3r6oZWvYiZNH3tVV5b1HhD5i6l758Q8X4xQScV/7p78pw+elPle1r45+rJ3Qq4K0h/zHEI2k8NtoH1qHTMJhqyxqvLfwKM9HFp6JOoHDoN3iCgBUIbowSGXepLr/Pivu0kuMuTq59uPSkTlhJEqH1itEnzC4P4UQFcPyuMgvNUcf7YLTefgJWsTZIwI7Nr2EUwMbath99KnslreCRti4Cfq3xwIDAQABAoIBAQCOKCCKud8/0ojOR2ZDc2bdKormRx2J7j9PgSYt2Dr61yc7IlrWzKY+2hW00AwQG28/QF338/nDufHSjfZwZ70vX5JJUdYOJB4pIDG3WGXBD99oWLKNmvdfEacB+CZ+VsGJaFdZffAEVIyZt/WzIlwvsMRT8P2BdOM8VVl5VrxSjPLIWzHLhkmmz/DjsMoAg1cteW2IH10beWGR7CX/SYvZY4aOXB8qOEoPK5WbR33ghWbljDV1yIyXrFGa1JZ3gO0RcSGnKc/7QEfLVE2GzDAiv3lncCJJLG1hPywEv2nUKD5c3LYj8ZDSdZJqUUmfw6g6Zd02UqnS42EnkTJt7ErBAoGBAOW1h217+OfkVDJaUEdTvDLGprncnHj2RrFj0DMW9JS0TLE8nEJw6oW632kGgTwVsQCcEoVWKUIiDodkLep/ocGOCBAl5aZF0QZYQugiB29+rwvn9MdNQlD1D2eSqU1alaDchVA75TUWQDHH8S31MKaoVLn85Wqr6Qo+37TSNRonAoGBAM96ax16Oakm6GXg7oDSJg0j/LneivS7b/uQd9Ezof6LLUfiwe4Uo0TVKeshLtzitfVauBv4aUdkDVsxc+OXw0WBpolM1DWB5x0pPun7T0ZIzdqc9DgPCq+s7yBpaWEsaidhcRdbWgsBm+qBI567RG/T/obMtdHhp1bkfoUAAhlhAoGBAJzIkN3GXvYPnvQbNm3olixl8AgtrlLVbRzITqOASIFyqmHSR6kFntyV1sS9XtneyEftPqrpSxHLYvVACCLk6EfOpGw5IYyiXG+jME92YnLUGa/bqvOZJOlSyifcL1gPus7nlMpVhzT7secIW/INRx6JCANFvGRZX57RmSi2zO3DAoGAR46WIO2Fs4Q6xOBmAcH447FUuZo6XJvEzIOP/3QKW+sOa+uWLRGrGdNXCMRCEGaUkRF/zA3J6ZhlTt1odcdizrcfg90el3G9Dv6ptzM4rSnw7YQSar8tVVeUhZ41fRE/b2OZCJA2JvOgHan6agV2XgdEkqNJ1iA4gax+wko1byECgYAztdhWptLuPu5LBJz4YlUjjet7AfD0ohr6aGgnljPj5+/nMlEN5tDMUG1qPAXYiEOT28qYPpaZqo5BTWsuRhjhhR7myf125RM4NmNbpo6LjwSi6dKfBMCoPNF69nuy9KQMGVXgW0gyI9oMTrSttYhIZC7Pxql6ZDeDwrucWf+lyQ==
|
|
-----END RSA PRIVATE KEY-----`;
|
|
|
|
var sHeader = JSON.stringify(header);
|
|
var sPayload = JSON.stringify(data);
|
|
|
|
var sJWT = rs.jws.JWS.sign(header.alg, sHeader, sPayload, privateKey);
|
|
|
|
bru.setVar('client_assertion', sJWT);
|
|
|
|
req.setHeaders(data)
|
|
const headers = req.getHeaders()
|
|
console.log("headers",headers)
|
|
console.log('sJWT >>>>>>> ', sJWT);
|
|
|
|
}
|
|
|
|
script:post-response {
|
|
var rlt = res.getBody();
|
|
bru.setGlobalEnvVar("ws-access-token-partenaire", rlt.access_token);
|
|
bru.setGlobalEnvVar("ws-refresh-token-partenaire", rlt.refresh_token);
|
|
|
|
}
|
|
|
|
settings {
|
|
encodeUrl: true
|
|
timeout: 0
|
|
}
|