meta { name: Get AccessToken from RefreshToken type: http seq: 3 } post { url: https://idp.docapost.io/auth/realms/GETWAY/protocol/openid-connect/token body: formUrlEncoded auth: bearer } auth:bearer { token: {{ws-access-token-partenaire}} } body:form-urlencoded { grant_type: refresh_token client_id: savefamily_rest_ws client_assertion_type: urn:ietf:params:oauth:client-assertion-type:jwt-bearer client_assertion: {{client_assertion}} refresh_token: {{ws-refresh-token-partenaire}} } script:pre-request { var navigator = {}; var window = {}; var rs = require('jsrsasign'); var rsu = require('jsrsasign-util'); 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": "xNfbMiyL1ORXGP8lElhcv8nVaG3EJKye4Lc1YoN3I1E"}; var data = { "sub" : "savefamily_rest_ws", "iss" : "savefamily_rest_ws", "aud" : "https://idp.docapost.io/auth/realms/GETWAY", "jti": ""+new Date().getTime(), "content-type":"application/x-www-form-urlencoded" }; data = addIAT(data); var privateKey = `-----BEGIN PRIVATE KEY----- MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQDhon4PurD48jQ9 r/QErPjVjqKE/sUsEFqD3co96jVISOKdfJVN8WbF5PE4SFS+yiYgDUTlCi6coPqL cfzdtf/4oybQaClP706NuQRYXxrv6QwZeiSKUT/0CH27AEHNcLMmXhhTITZWENBQ bqdgKPbRcfxtJu10RvlxR4UDplMybfBh12Z8mMpO1m/PjKLIs7weNbb7UffatDRK vR3uY8NyHTObiQGMbiRVeBJSd+TrxOBRU1PCKTERB8nl9v4AwTQc4D2aCIZ3IqB0 0ix3gg/bOB6dameIA9sZ+2Hqw7vz6+sRPD9SXjZ2DGnF6Mt+AOGqCtM9uLvMWiaH rVYVUk7NAgMBAAECgf984rNjgVxH/DjDXcPHmdkgk6A10c2z8llDlT7UMNTpbW4A rsJKMATV5z5jYWyi9E6l0nlzE1M5T/zrBwjZWQaUrUc5IRigLM0qQJoRwXWufvKP 7oPnfK2a66ZyxTjDEk+kc/BJ2dgj9Y4CEzz0g3780cwlnhf6g9xiFqy6e/hl6QYr KhRPVyDt1A4aVZFzf0Vy/DSQWZYKQwSwYyhv4yRYE3ddMg1QVtyg2oiHuNo7nZpU RpdhNDacQ5WX/krQJqCtC+Q9Q0shxGhG4szYzZ6VIbnj33aerFeFPT3CWhePH4jS 2zvfxYlOT5WOXZuxkVdoYs58n7+DUX+atsDzWnkCgYEA9W77YsoHkG4bGq5EvhY4 XN9pb9MCHLx6R86ii0enp/Q3Soz6KF9dEI3qoLi55w46KIf8m2FQn4UyCIq1SpqG kSbHTaRSVEuoh7dfoekggUm+N/MX8LVg4geMUSJreC3QcJIFlMgFDRmF2qoO/1NJ sQnPGJPCp50y0FHlO7HiG3UCgYEA61lM4xKeSP/GQG1P6k3kHD5Iz+BlQ/R+xi5i nZupi9ejgWFGFFQoTBjEGwnZNDK3IOAxLIeO4KyMFNKCZWiKPRhPnmSLh1ND7Mws l8lDdK2HMdrfwI89naJSY1eCI1BIYHIpXPzdAxRu3nFO4uT9fNpW8b9QvhFseQdG 4QeN8vkCgYEA8Yj2/JG2P/0bz3YRUMCtVzjGmrYeLgmOjXxdmpQ5+p/sigGTbofr Ho+LiABDc5AczCaIAqISpep/Asj/ARxxsgdnvJEqNKsAgA+GneC/jHz2JjmmJc1a OxcSkAY/nVX4+8+4jmMKFYo4oKkbeUqOCxyMIrPHrQyXJUxzO/wjeMECgYBOuFr4 ZQTew/brG+UsKQuQyuCN76/PkBtLbL59m1CVvvYo04GeURv9gBcwOBYX2JLag0LP czQ+QFjGqjcFdncuwk/3Wgg1potEzHJp/t76SwS6j0xiW0cvz9ig8+dKqpLa97SQ LuA6JH6FFv9c8106gsmsKOL4AFn5DY8Ou/kl+QKBgGEp61blJEZOS+tOMhgY96Pr A15xeSFbu39oixu5WQ3XVZQAZZ8dpvqaX8D9uFm1xc34l8z9uUvhaefEKfCDY4JQ Iy7tXuV3C1lL/hPz8JTYsSJeIUH45bvSf/DcV2TFObpo645u8wyUjmDfVkxNUzKX T027qS3OzNe13y6VvR8u -----END 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); 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 }