@cuby-ui/core 0.0.335 → 0.0.337

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4ub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdG9rZW4ub3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDdWlUb2tlbkRhdGEge1xuICAgIHJlYWRvbmx5IGV4cDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGlhdDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGF1dGhfdGltZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGFsbG93ZWRfb3JpZ2luczogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGdpdmVuX25hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBmYW1pbHlfbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGVtYWlsOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4ub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdG9rZW4ub3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDdWlUb2tlbkRhdGEge1xuICAgIHJlYWRvbmx5IGV4cDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGlhdDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGF6cDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGF1dGhfdGltZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGFsbG93ZWRfb3JpZ2luczogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHByZWZlcnJlZF91c2VybmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGdpdmVuX25hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBmYW1pbHlfbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGVtYWlsOiBzdHJpbmc7XG59XG4iXX0=
@@ -46,7 +46,11 @@ class CuiToken extends OAuthService {
46
46
  try {
47
47
  const base64Url = token.split('.')[1];
48
48
  const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
49
- return JSON.parse(atob(base64));
49
+ const jsonPayload = decodeURIComponent(window.atob(base64)
50
+ .split('')
51
+ .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))
52
+ .join(''));
53
+ return JSON.parse(jsonPayload);
50
54
  }
51
55
  catch {
52
56
  throw new Error('Invalid token');
@@ -61,13 +65,13 @@ export class CuiTokenBase extends CuiToken {
61
65
  constructor() {
62
66
  super(...arguments);
63
67
  this.exchangeContextApiService = inject(CuiExchangeContextApiService);
64
- this.EXCHANGE_TOKEN_VALUE = 'employee_session';
68
+ this.EXCHANGE_TOKEN_VALUE = 'token-exchange';
65
69
  }
66
70
  // TODO: override refreshToken with custom refresh token request to the backend
67
71
  refreshToken() {
68
72
  try {
69
- const tokenData = this.getAccessTokenData();
70
- if (this.EXCHANGE_TOKEN_VALUE in tokenData) {
73
+ const tokenData = this.getTokenDataFromStore(this.getRefreshToken());
74
+ if (tokenData.azp.includes(this.EXCHANGE_TOKEN_VALUE)) {
71
75
  return this.refreshExchangedToken();
72
76
  }
73
77
  }
@@ -113,4 +117,4 @@ export class CuiTokenBase extends CuiToken {
113
117
  return from(this.processIdToken(tokenResponse.id_token, tokenResponse.access_token, true)).pipe(tap((result) => this.storeIdToken(result)), map(() => tokenResponse));
114
118
  }
115
119
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTdFLE1BQWUsUUFBUyxTQUFRLFlBQVk7SUFBNUM7O1FBQ3FCLGNBQVMsR0FBRyxNQUFNLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBRXhELGdDQUEyQixHQUFHLElBQUksQ0FBQztJQW9FeEQsQ0FBQztJQWxFVSx5QkFBeUI7UUFDNUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFFbEYsT0FBTyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQU0sQ0FBQztJQUNsRCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDdWlUb2tlbkV4Y2hhbmdlUmVxdWVzdEJvZHksIEN1aVRva2VuUmVzcG9uc2UgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHsgQ3VpRXhjaGFuZ2VDb250ZXh0QXBpU2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2FwaSc7XG5pbXBvcnQgdHlwZSB7IFRva2VuUmVzcG9uc2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IE9BdXRoRXJyb3JFdmVudCwgT0F1dGhTZXJ2aWNlLCBPQXV0aFN1Y2Nlc3NFdmVudCB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmcm9tLCBtYXAsIG9mLCBzd2l0Y2hNYXAsIHRhcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgdHlwZSB7IEN1aVRva2VuRGF0YSB9IGZyb20gJy4vdG9rZW4ub3B0aW9ucyc7XG5cbmFic3RyYWN0IGNsYXNzIEN1aVRva2VuIGV4dGVuZHMgT0F1dGhTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuRGF0YSA9IHNpZ25hbDx7IFtrZXk6IHN0cmluZ106IEN1aVRva2VuRGF0YSB9Pih7fSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IENPTlZFUlRfVE9fU0VDT05EU19DT05TVEFOVCA9IDEwMDA7XG5cbiAgICBwdWJsaWMgZ2V0UmVmcmVzaFRva2VuRXhwaXJhdGlvbigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW5FeHBpcmF0aW9uID0gdGhpcy5nZXRUb2tlbkRhdGFGcm9tU3RvcmUodGhpcy5nZXRSZWZyZXNoVG9rZW4oKSk7XG5cbiAgICAgICAgcmV0dXJuIHJlZnJlc2hUb2tlbkV4cGlyYXRpb24uZXhwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbkRhdGE8VCBleHRlbmRzIEN1aVRva2VuRGF0YSA9IEN1aVRva2VuRGF0YT4oKTogVCB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRBY2Nlc3NUb2tlbigpO1xuXG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gYWNjZXNzIHRva2VuIGZvdW5kJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbkRhdGFGcm9tU3RvcmUodG9rZW4pIGFzIFQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrSXNUb2tlbkV4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRBY2Nlc3NUb2tlbigpO1xuXG4gICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tUb2tlbkV4cGlyZWQodGhpcy5nZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb24oKSAvIHRoaXMuQ09OVkVSVF9UT19TRUNPTkRTX0NPTlNUQU5UKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2hlY2tJc1JlZnJlc2hUb2tlbkV4cGlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRSZWZyZXNoVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrVG9rZW5FeHBpcmVkKHRoaXMuZ2V0UmVmcmVzaFRva2VuRXhwaXJhdGlvbigpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0VG9rZW5EYXRhRnJvbVN0b3JlKHRva2VuOiBzdHJpbmcpOiBDdWlUb2tlbkRhdGEge1xuICAgICAgICBjb25zdCB0b2tlbkRhdGEgPSB0aGlzLnRva2VuRGF0YSgpW3Rva2VuXTtcblxuICAgICAgICBpZiAodG9rZW5EYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW5EYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudFRva2VuRGF0YSA9IHRoaXMucGFyc2VUb2tlbih0b2tlbik7XG5cbiAgICAgICAgdGhpcy50b2tlbkRhdGEudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCBbdG9rZW5dOiBjdXJyZW50VG9rZW5EYXRhIH0pKTtcblxuICAgICAgICByZXR1cm4gY3VycmVudFRva2VuRGF0YTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlVG9rZW4odG9rZW46IHN0cmluZyk6IEN1aVRva2VuRGF0YSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlNjRVcmwgPSB0b2tlbi5zcGxpdCgnLicpWzFdO1xuICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gYmFzZTY0VXJsLnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGF0b2IoYmFzZTY0KSk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRva2VuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrVG9rZW5FeHBpcmVkKGV4cGlyZWRUaW1lSW5TZWNvbmRzOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpIC8gdGhpcy5DT05WRVJUX1RPX1NFQ09ORFNfQ09OU1RBTlQ7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lID49IGV4cGlyZWRUaW1lSW5TZWNvbmRzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEN1aVRva2VuQmFzZSBleHRlbmRzIEN1aVRva2VuIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2hhbmdlQ29udGV4dEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpRXhjaGFuZ2VDb250ZXh0QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBFWENIQU5HRV9UT0tFTl9WQUxVRSA9ICdlbXBsb3llZV9zZXNzaW9uJztcblxuICAgIC8vIFRPRE86IG92ZXJyaWRlIHJlZnJlc2hUb2tlbiB3aXRoIGN1c3RvbSByZWZyZXNoIHRva2VuIHJlcXVlc3QgdG8gdGhlIGJhY2tlbmRcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8VG9rZW5SZXNwb25zZT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW5EYXRhID0gdGhpcy5nZXRBY2Nlc3NUb2tlbkRhdGEoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuRVhDSEFOR0VfVE9LRU5fVkFMVUUgaW4gdG9rZW5EYXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVmcmVzaEV4Y2hhbmdlZFRva2VuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3IgcmVmcmVzaGluZyB0b2tlbicsIGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdXBlci5yZWZyZXNoVG9rZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVmcmVzaEV4Y2hhbmdlZFRva2VuKCk6IFByb21pc2U8Q3VpVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT5cbiAgICAgICAgICAgIHRoaXMuZXhjaGFuZ2VDb250ZXh0QXBpU2VydmljZVxuICAgICAgICAgICAgICAgIC5yZWZyZXNoKHRoaXMuZ2V0UmVmcmVzaFRva2VuKCkpXG4gICAgICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCh0b2tlblJlc3BvbnNlKSA9PiB0aGlzLnNldElkVG9rZW4odG9rZW5SZXNwb25zZSkpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBuZXh0OiAodG9rZW5SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRUb2tlblJlc3BvbnNlKHRva2VuUmVzcG9uc2UpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRva2VuUmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRXJyb3IgcmVmcmVzaGluZyB0b2tlbicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aEVycm9yRXZlbnQoJ3Rva2VuX3JlZnJlc2hfZXJyb3InLCBlcnJvcikpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhjaGFuZ2VUb2tlbihwYXJhbXM6IEN1aVRva2VuRXhjaGFuZ2VSZXF1ZXN0Qm9keSk6IE9ic2VydmFibGU8Q3VpVG9rZW5SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leGNoYW5nZUNvbnRleHRBcGlTZXJ2aWNlLmV4Y2hhbmdlKHBhcmFtcykucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodG9rZW5SZXNwb25zZSkgPT4gdGhpcy5zZXRJZFRva2VuKHRva2VuUmVzcG9uc2UpKSxcbiAgICAgICAgICAgIHRhcCgodG9rZW5SZXNwb25zZSkgPT4gdGhpcy5zZXRUb2tlblJlc3BvbnNlKHRva2VuUmVzcG9uc2UpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0Vycm9yIGV4Y2hhbmdpbmcgdG9rZW4nLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmVudHNTdWJqZWN0Lm5leHQobmV3IE9BdXRoRXJyb3JFdmVudCgndG9rZW5fcmVmcmVzaF9lcnJvcicsIGVycm9yKSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VG9rZW5SZXNwb25zZSh0b2tlblJlc3BvbnNlOiBDdWlUb2tlblJlc3BvbnNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNJbiA9IHRva2VuUmVzcG9uc2UuZXhwaXJlc19pbiB8fCB0aGlzLmZhbGxiYWNrQWNjZXNzVG9rZW5FeHBpcmF0aW9uVGltZUluU2VjITtcblxuICAgICAgICB0aGlzLmRlYnVnKCd0b2tlblJlc3BvbnNlJywgdG9rZW5SZXNwb25zZSk7XG4gICAgICAgIHRoaXMuc3RvcmVBY2Nlc3NUb2tlblJlc3BvbnNlKFxuICAgICAgICAgICAgdG9rZW5SZXNwb25zZS5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgICB0b2tlblJlc3BvbnNlLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgICAgICBleHBpcmVzSW4sXG4gICAgICAgICAgICB0b2tlblJlc3BvbnNlLnNjb3BlXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5ldmVudHNTdWJqZWN0Lm5leHQobmV3IE9BdXRoU3VjY2Vzc0V2ZW50KCd0b2tlbl9yZWNlaXZlZCcpKTtcbiAgICAgICAgdGhpcy5ldmVudHNTdWJqZWN0Lm5leHQobmV3IE9BdXRoU3VjY2Vzc0V2ZW50KCd0b2tlbl9yZWZyZXNoZWQnKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJZFRva2VuKHRva2VuUmVzcG9uc2U6IEN1aVRva2VuUmVzcG9uc2UpOiBPYnNlcnZhYmxlPEN1aVRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgaWYgKCF0aGlzLm9pZGMgfHwgIXRva2VuUmVzcG9uc2UuaWRfdG9rZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBvZih0b2tlblJlc3BvbnNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucHJvY2Vzc0lkVG9rZW4odG9rZW5SZXNwb25zZS5pZF90b2tlbiwgdG9rZW5SZXNwb25zZS5hY2Nlc3NfdG9rZW4sIHRydWUpKS5waXBlKFxuICAgICAgICAgICAgdGFwKChyZXN1bHQpID0+IHRoaXMuc3RvcmVJZFRva2VuKHJlc3VsdCkpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRva2VuUmVzcG9uc2UpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTdFLE1BQWUsUUFBUyxTQUFRLFlBQVk7SUFBNUM7O1FBQ3FCLGNBQVMsR0FBRyxNQUFNLENBQWtDLEVBQUUsQ0FBQyxDQUFDO1FBRXhELGdDQUEyQixHQUFHLElBQUksQ0FBQztJQXdFeEQsQ0FBQztJQXRFVSx5QkFBeUI7UUFDNUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFFbEYsT0FBTyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDdEMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQU0sQ0FBQztJQUNsRCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLEVB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LENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMzRixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDMUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUMzQixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQ3VpVG9rZW5FeGNoYW5nZVJlcXVlc3RCb2R5LCBDdWlUb2tlblJlc3BvbnNlIH0gZnJvbSAnQGN1YnktdWkvYXBpJztcbmltcG9ydCB7IEN1aUV4Y2hhbmdlQ29udGV4dEFwaVNlcnZpY2UgfSBmcm9tICdAY3VieS11aS9hcGknO1xuaW1wb3J0IHR5cGUgeyBUb2tlblJlc3BvbnNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBPQXV0aEVycm9yRXZlbnQsIE9BdXRoU2VydmljZSwgT0F1dGhTdWNjZXNzRXZlbnQgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUgeyBDdWlUb2tlbkRhdGEgfSBmcm9tICcuL3Rva2VuLm9wdGlvbnMnO1xuXG5hYnN0cmFjdCBjbGFzcyBDdWlUb2tlbiBleHRlbmRzIE9BdXRoU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2tlbkRhdGEgPSBzaWduYWw8eyBba2V5OiBzdHJpbmddOiBDdWlUb2tlbkRhdGEgfT4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBDT05WRVJUX1RPX1NFQ09ORFNfQ09OU1RBTlQgPSAxMDAwO1xuXG4gICAgcHVibGljIGdldFJlZnJlc2hUb2tlbkV4cGlyYXRpb24oKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcmVmcmVzaFRva2VuRXhwaXJhdGlvbiA9IHRoaXMuZ2V0VG9rZW5EYXRhRnJvbVN0b3JlKHRoaXMuZ2V0UmVmcmVzaFRva2VuKCkpO1xuXG4gICAgICAgIHJldHVybiByZWZyZXNoVG9rZW5FeHBpcmF0aW9uLmV4cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWNjZXNzVG9rZW5EYXRhPFQgZXh0ZW5kcyBDdWlUb2tlbkRhdGEgPSBDdWlUb2tlbkRhdGE+KCk6IFQge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGFjY2VzcyB0b2tlbiBmb3VuZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW5EYXRhRnJvbVN0b3JlKHRva2VuKSBhcyBUO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0lzVG9rZW5FeHBpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0QWNjZXNzVG9rZW4oKTtcblxuICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrVG9rZW5FeHBpcmVkKHRoaXMuZ2V0QWNjZXNzVG9rZW5FeHBpcmF0aW9uKCkgLyB0aGlzLkNPTlZFUlRfVE9fU0VDT05EU19DT05TVEFOVCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNoZWNrSXNSZWZyZXNoVG9rZW5FeHBpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0UmVmcmVzaFRva2VuKCk7XG5cbiAgICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Rva2VuRXhwaXJlZCh0aGlzLmdldFJlZnJlc2hUb2tlbkV4cGlyYXRpb24oKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRva2VuRGF0YUZyb21TdG9yZSh0b2tlbjogc3RyaW5nKTogQ3VpVG9rZW5EYXRhIHtcbiAgICAgICAgY29uc3QgdG9rZW5EYXRhID0gdGhpcy50b2tlbkRhdGEoKVt0b2tlbl07XG5cbiAgICAgICAgaWYgKHRva2VuRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIHRva2VuRGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRUb2tlbkRhdGEgPSB0aGlzLnBhcnNlVG9rZW4odG9rZW4pO1xuXG4gICAgICAgIHRoaXMudG9rZW5EYXRhLnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgW3Rva2VuXTogY3VycmVudFRva2VuRGF0YSB9KSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRUb2tlbkRhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVRva2VuKHRva2VuOiBzdHJpbmcpOiBDdWlUb2tlbkRhdGEge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYmFzZTY0VXJsID0gdG9rZW4uc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGJhc2U2NFVybC5yZXBsYWNlKC8tL2csICcrJykucmVwbGFjZSgvXy9nLCAnLycpO1xuICAgICAgICAgICAgY29uc3QganNvblBheWxvYWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoYmFzZTY0KVxuICAgICAgICAgICAgICAgIC5zcGxpdCgnJylcbiAgICAgICAgICAgICAgICAubWFwKChjKSA9PiAnJScgKyAoJzAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKSlcbiAgICAgICAgICAgICAgICAuam9pbignJykpO1xuXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShqc29uUGF5bG9hZCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRva2VuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrVG9rZW5FeHBpcmVkKGV4cGlyZWRUaW1lSW5TZWNvbmRzOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpIC8gdGhpcy5DT05WRVJUX1RPX1NFQ09ORFNfQ09OU1RBTlQ7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRUaW1lID49IGV4cGlyZWRUaW1lSW5TZWNvbmRzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEN1aVRva2VuQmFzZSBleHRlbmRzIEN1aVRva2VuIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV4Y2hhbmdlQ29udGV4dEFwaVNlcnZpY2UgPSBpbmplY3QoQ3VpRXhjaGFuZ2VDb250ZXh0QXBpU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBFWENIQU5HRV9UT0tFTl9WQUxVRSA9ICd0b2tlbi1leGNoYW5nZSc7XG5cbiAgICAvLyBUT0RPOiBvdmVycmlkZSByZWZyZXNoVG9rZW4gd2l0aCBjdXN0b20gcmVmcmVzaCB0b2tlbiByZXF1ZXN0IHRvIHRoZSBiYWNrZW5kXG4gICAgcHVibGljIG92ZXJyaWRlIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPFRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHRva2VuRGF0YSA9IHRoaXMuZ2V0VG9rZW5EYXRhRnJvbVN0b3JlKHRoaXMuZ2V0UmVmcmVzaFRva2VuKCkpO1xuXG4gICAgICAgICAgICBpZiAodG9rZW5EYXRhLmF6cC5pbmNsdWRlcyh0aGlzLkVYQ0hBTkdFX1RPS0VOX1ZBTFVFKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZnJlc2hFeGNoYW5nZWRUb2tlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0Vycm9yIHJlZnJlc2hpbmcgdG9rZW4nLCBlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VwZXIucmVmcmVzaFRva2VuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZnJlc2hFeGNoYW5nZWRUb2tlbigpOiBQcm9taXNlPEN1aVRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+XG4gICAgICAgICAgICB0aGlzLmV4Y2hhbmdlQ29udGV4dEFwaVNlcnZpY2VcbiAgICAgICAgICAgICAgICAucmVmcmVzaCh0aGlzLmdldFJlZnJlc2hUb2tlbigpKVxuICAgICAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcCgodG9rZW5SZXNwb25zZSkgPT4gdGhpcy5zZXRJZFRva2VuKHRva2VuUmVzcG9uc2UpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgICAgICAgICAgbmV4dDogKHRva2VuUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VG9rZW5SZXNwb25zZSh0b2tlblJlc3BvbnNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0b2tlblJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0Vycm9yIHJlZnJlc2hpbmcgdG9rZW4nLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV2ZW50c1N1YmplY3QubmV4dChuZXcgT0F1dGhFcnJvckV2ZW50KCd0b2tlbl9yZWZyZXNoX2Vycm9yJywgZXJyb3IpKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4Y2hhbmdlVG9rZW4ocGFyYW1zOiBDdWlUb2tlbkV4Y2hhbmdlUmVxdWVzdEJvZHkpOiBPYnNlcnZhYmxlPEN1aVRva2VuUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhjaGFuZ2VDb250ZXh0QXBpU2VydmljZS5leGNoYW5nZShwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuUmVzcG9uc2UpID0+IHRoaXMuc2V0SWRUb2tlbih0b2tlblJlc3BvbnNlKSksXG4gICAgICAgICAgICB0YXAoKHRva2VuUmVzcG9uc2UpID0+IHRoaXMuc2V0VG9rZW5SZXNwb25zZSh0b2tlblJlc3BvbnNlKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdFcnJvciBleGNoYW5naW5nIHRva2VuJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aEVycm9yRXZlbnQoJ3Rva2VuX3JlZnJlc2hfZXJyb3InLCBlcnJvcikpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRva2VuUmVzcG9uc2UodG9rZW5SZXNwb25zZTogQ3VpVG9rZW5SZXNwb25zZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBleHBpcmVzSW4gPSB0b2tlblJlc3BvbnNlLmV4cGlyZXNfaW4gfHwgdGhpcy5mYWxsYmFja0FjY2Vzc1Rva2VuRXhwaXJhdGlvblRpbWVJblNlYyE7XG5cbiAgICAgICAgdGhpcy5kZWJ1ZygndG9rZW5SZXNwb25zZScsIHRva2VuUmVzcG9uc2UpO1xuICAgICAgICB0aGlzLnN0b3JlQWNjZXNzVG9rZW5SZXNwb25zZShcbiAgICAgICAgICAgIHRva2VuUmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgICAgdG9rZW5SZXNwb25zZS5yZWZyZXNoX3Rva2VuLFxuICAgICAgICAgICAgZXhwaXJlc0luLFxuICAgICAgICAgICAgdG9rZW5SZXNwb25zZS5zY29wZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVjZWl2ZWQnKSk7XG4gICAgICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KG5ldyBPQXV0aFN1Y2Nlc3NFdmVudCgndG9rZW5fcmVmcmVzaGVkJykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SWRUb2tlbih0b2tlblJlc3BvbnNlOiBDdWlUb2tlblJlc3BvbnNlKTogT2JzZXJ2YWJsZTxDdWlUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIGlmICghdGhpcy5vaWRjIHx8ICF0b2tlblJlc3BvbnNlLmlkX3Rva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YodG9rZW5SZXNwb25zZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnByb2Nlc3NJZFRva2VuKHRva2VuUmVzcG9uc2UuaWRfdG9rZW4sIHRva2VuUmVzcG9uc2UuYWNjZXNzX3Rva2VuLCB0cnVlKSkucGlwZShcbiAgICAgICAgICAgIHRhcCgocmVzdWx0KSA9PiB0aGlzLnN0b3JlSWRUb2tlbihyZXN1bHQpKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0b2tlblJlc3BvbnNlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -905,7 +905,11 @@ class CuiToken extends OAuthService {
905
905
  try {
906
906
  const base64Url = token.split('.')[1];
907
907
  const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
908
- return JSON.parse(atob(base64));
908
+ const jsonPayload = decodeURIComponent(window.atob(base64)
909
+ .split('')
910
+ .map((c) => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))
911
+ .join(''));
912
+ return JSON.parse(jsonPayload);
909
913
  }
910
914
  catch {
911
915
  throw new Error('Invalid token');
@@ -920,13 +924,13 @@ class CuiTokenBase extends CuiToken {
920
924
  constructor() {
921
925
  super(...arguments);
922
926
  this.exchangeContextApiService = inject(CuiExchangeContextApiService);
923
- this.EXCHANGE_TOKEN_VALUE = 'employee_session';
927
+ this.EXCHANGE_TOKEN_VALUE = 'token-exchange';
924
928
  }
925
929
  // TODO: override refreshToken with custom refresh token request to the backend
926
930
  refreshToken() {
927
931
  try {
928
- const tokenData = this.getAccessTokenData();
929
- if (this.EXCHANGE_TOKEN_VALUE in tokenData) {
932
+ const tokenData = this.getTokenDataFromStore(this.getRefreshToken());
933
+ if (tokenData.azp.includes(this.EXCHANGE_TOKEN_VALUE)) {
930
934
  return this.refreshExchangedToken();
931
935
  }
932
936
  }