103 lines
3.5 KiB
Plaintext
103 lines
3.5 KiB
Plaintext
|
|
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
|
||
|
|
}
|