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 }