Files
sf-sim/docs/sim-objenious/Get Access Token nuevo.bru

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
}