@digipair/skill-keycloak 0.48.1 → 0.49.0
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.
package/index.cjs.js
CHANGED
@@ -5629,8 +5629,10 @@ let KeycloakService = class KeycloakService {
|
|
5629
5629
|
});
|
5630
5630
|
return pinsSettings;
|
5631
5631
|
}
|
5632
|
-
async decodedToken(url, realm, token) {
|
5633
|
-
const response = await fetch(`${url}/realms/${realm}/protocol/openid-connect/certs
|
5632
|
+
async decodedToken(url, realm, token, signal) {
|
5633
|
+
const response = await fetch(`${url}/realms/${realm}/protocol/openid-connect/certs`, {
|
5634
|
+
signal
|
5635
|
+
});
|
5634
5636
|
const infos = await response.json();
|
5635
5637
|
const publicKey = `-----BEGIN CERTIFICATE-----\n${infos.keys.find(({ alg })=>alg === 'RS256').x5c[0]}\n-----END CERTIFICATE-----`;
|
5636
5638
|
const decodedtoken = jsonwebtoken.verify(token, publicKey, {
|
@@ -5657,37 +5659,26 @@ let KeycloakService = class KeycloakService {
|
|
5657
5659
|
}
|
5658
5660
|
return output;
|
5659
5661
|
}
|
5660
|
-
async pins2html(pins) {
|
5662
|
+
async pins2html(pins, context) {
|
5661
5663
|
const dom = new jsdom.JSDOM();
|
5662
5664
|
const element = dom.window.document.createElement('section');
|
5663
|
-
await this.generateElementsFromPins(pins, element,
|
5665
|
+
await this.generateElementsFromPins(pins, element, {
|
5666
|
+
config: {
|
5667
|
+
VERSIONS: context.config.VERSIONS || {}
|
5668
|
+
},
|
5669
|
+
variables: context.variables || {},
|
5670
|
+
request: context.request || {}
|
5671
|
+
}, dom.window.document);
|
5664
5672
|
return element.innerHTML;
|
5665
5673
|
}
|
5666
|
-
async generateElementsFromPins(pinsList, parent,
|
5674
|
+
async generateElementsFromPins(pinsList, parent, context, document) {
|
5667
5675
|
for(let i = 0; i < pinsList.length; i++){
|
5668
5676
|
const item = pinsList[i];
|
5669
|
-
await
|
5677
|
+
await engine.generateElementFromPins(item, parent, context, document, {
|
5678
|
+
import: false
|
5679
|
+
});
|
5670
5680
|
}
|
5671
5681
|
}
|
5672
|
-
async generateElementFromPins(pinsSettings, parent, dom) {
|
5673
|
-
const element = dom.window.document.createElement(pinsSettings.element);
|
5674
|
-
element.setAttribute('data-ssr', '1');
|
5675
|
-
const settings = pinsSettings;
|
5676
|
-
Object.entries(settings.properties || {}).forEach(([key, value])=>{
|
5677
|
-
if (key === 'textContent') {
|
5678
|
-
element.textContent = value;
|
5679
|
-
} else if (key === 'innerHTML') {
|
5680
|
-
element.innerHTML = value;
|
5681
|
-
} else if (typeof value === 'string') {
|
5682
|
-
element.setAttribute(key, value);
|
5683
|
-
} else {
|
5684
|
-
element[key] = value;
|
5685
|
-
}
|
5686
|
-
});
|
5687
|
-
const pinsList = settings.pins || [];
|
5688
|
-
await this.generateElementsFromPins(pinsList, element, dom);
|
5689
|
-
parent.appendChild(element);
|
5690
|
-
}
|
5691
5682
|
async page(params, _pinsSettingsList, context) {
|
5692
5683
|
var _context_request_body;
|
5693
5684
|
const { body, head, ssr = false, styleHtml = '', styleBody = '', baseUrl = 'https://cdn.jsdelivr.net/npm', url = context.privates.KEYCLOAK_URL, realm = context.privates.KEYCLOAK_REALM, clientId = context.privates.KEYCLOAK_CLIENTID, factoryInitialize = [], browserInitialize = [], browserLoad = [], logged = [], unlogged = [], factoryUrl = context.privates.FACTORY_URL || process.env['FACTORY_URL'] || 'https://factory.digipair.ai' } = params;
|
@@ -5700,9 +5691,10 @@ let KeycloakService = class KeycloakService {
|
|
5700
5691
|
const pinsSettingsList = ((_pinsSettings_properties = pinsSettings.properties) == null ? void 0 : _pinsSettings_properties['execute']) || [];
|
5701
5692
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
5702
5693
|
if (token) {
|
5694
|
+
var _context_protected;
|
5703
5695
|
context.keycloak = {
|
5704
5696
|
isLogged: true,
|
5705
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
5697
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
5706
5698
|
};
|
5707
5699
|
} else {
|
5708
5700
|
context.keycloak = {
|
@@ -5719,7 +5711,7 @@ let KeycloakService = class KeycloakService {
|
|
5719
5711
|
<!DOCTYPE html>
|
5720
5712
|
<html style="${styleHtml}">
|
5721
5713
|
<head>
|
5722
|
-
${head ? await this.pins2html(head) : `
|
5714
|
+
${head ? await this.pins2html(head, context) : `
|
5723
5715
|
<meta charset="UTF-8" />
|
5724
5716
|
<title>Digipair</title>
|
5725
5717
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
@@ -5799,7 +5791,7 @@ let KeycloakService = class KeycloakService {
|
|
5799
5791
|
await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserInitialize', browserInitialize))}, context);
|
5800
5792
|
|
5801
5793
|
const pinsList = ${JSON.stringify(this.prepareBrowserPinsSettings('body', body))};
|
5802
|
-
document.querySelectorAll('body > [data-
|
5794
|
+
document.querySelectorAll('body > [data-digipair-pins]').forEach((element) => element.remove()); // Remove SSR elements
|
5803
5795
|
for (let i = 0; i < pinsList.length; i++) {
|
5804
5796
|
const item = pinsList[i];
|
5805
5797
|
await generateElementFromPins(item, document.body, { ...context, data: ${JSON.stringify(preparedData)} });
|
@@ -5810,7 +5802,7 @@ let KeycloakService = class KeycloakService {
|
|
5810
5802
|
}, 1);
|
5811
5803
|
</script>
|
5812
5804
|
|
5813
|
-
|
5805
|
+
${ssr ? await this.pins2html(body, context) : ''}
|
5814
5806
|
</body>
|
5815
5807
|
</html>
|
5816
5808
|
`;
|
@@ -5821,9 +5813,10 @@ let KeycloakService = class KeycloakService {
|
|
5821
5813
|
const { execute, secured = true, url = context.privates.KEYCLOAK_URL, realm = context.privates.KEYCLOAK_REALM } = params;
|
5822
5814
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
5823
5815
|
if (token) {
|
5816
|
+
var _context_protected;
|
5824
5817
|
context.keycloak = {
|
5825
5818
|
isLogged: true,
|
5826
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
5819
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
5827
5820
|
};
|
5828
5821
|
} else {
|
5829
5822
|
context.keycloak = {
|
@@ -5845,9 +5838,10 @@ let KeycloakService = class KeycloakService {
|
|
5845
5838
|
const { steps, secured = true, url = context.privates.KEYCLOAK_URL, realm = context.privates.KEYCLOAK_REALM } = params;
|
5846
5839
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
5847
5840
|
if (token) {
|
5841
|
+
var _context_protected;
|
5848
5842
|
context.keycloak = {
|
5849
5843
|
isLogged: true,
|
5850
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
5844
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
5851
5845
|
};
|
5852
5846
|
} else {
|
5853
5847
|
context.keycloak = {
|
package/index.esm.js
CHANGED
@@ -27940,6 +27940,74 @@ const executePinsList = async (pinsSettingsList, context)=>{
|
|
27940
27940
|
}
|
27941
27941
|
return previous;
|
27942
27942
|
};
|
27943
|
+
const generateElementFromPins = async (pinsSettings, parent, context, document = typeof window !== 'undefined' ? window.document : global.document, options = {
|
27944
|
+
import: true
|
27945
|
+
})=>{
|
27946
|
+
var _settings_conditions, _settings_conditions1;
|
27947
|
+
let settings = await preparePinsSettings(pinsSettings, context);
|
27948
|
+
const alias = _config.ALIAS.find((alias)=>settings.library.split(':')[0] === alias.name);
|
27949
|
+
if (alias) {
|
27950
|
+
settings = await preparePinsSettings(_extends({}, settings, alias), {
|
27951
|
+
settings
|
27952
|
+
});
|
27953
|
+
}
|
27954
|
+
if ((_settings_conditions = settings.conditions) == null ? void 0 : _settings_conditions.each) {
|
27955
|
+
for(let index = 0; index < settings.conditions.each.length; index++){
|
27956
|
+
const item = settings.conditions.each[index];
|
27957
|
+
await generateElementFromPins(_extends({}, pinsSettings, {
|
27958
|
+
conditions: _extends({}, pinsSettings.conditions, {
|
27959
|
+
each: undefined
|
27960
|
+
})
|
27961
|
+
}), parent, _extends({}, context, {
|
27962
|
+
item,
|
27963
|
+
index,
|
27964
|
+
parent: {
|
27965
|
+
item: context.item,
|
27966
|
+
index: context.index,
|
27967
|
+
parent: context.parent
|
27968
|
+
}
|
27969
|
+
}), document, options);
|
27970
|
+
}
|
27971
|
+
return;
|
27972
|
+
}
|
27973
|
+
if (typeof ((_settings_conditions1 = settings.conditions) == null ? void 0 : _settings_conditions1.if) !== 'undefined' && !settings.conditions.if) {
|
27974
|
+
return;
|
27975
|
+
}
|
27976
|
+
const element = document.createElement(pinsSettings.element);
|
27977
|
+
element.setAttribute('data-digipair-pins', '');
|
27978
|
+
const library = pinsSettings.library;
|
27979
|
+
if (options.import && library !== 'web' && !_config.LIBRARIES[library]) {
|
27980
|
+
const config = context.config || {};
|
27981
|
+
const version = (config.VERSIONS || {})[library] || 'latest';
|
27982
|
+
import(isRemoteVersion.test(version) ? `${version}` : `${_config.BASE_URL}/${library}@${version}/index.esm.js`);
|
27983
|
+
}
|
27984
|
+
Object.entries(settings.properties || {}).forEach(([key, value])=>{
|
27985
|
+
if (key === 'textContent') {
|
27986
|
+
element.textContent = value;
|
27987
|
+
} else if (key === 'innerHTML') {
|
27988
|
+
element.innerHTML = value;
|
27989
|
+
} else if (typeof value === 'string') {
|
27990
|
+
element.setAttribute(key, value);
|
27991
|
+
} else {
|
27992
|
+
element[key] = value;
|
27993
|
+
}
|
27994
|
+
});
|
27995
|
+
Object.entries(settings.events || {}).forEach(([key, pinsList])=>{
|
27996
|
+
element.addEventListener(key, (_event)=>{
|
27997
|
+
const event = _event;
|
27998
|
+
executePinsList(pinsList, _extends({}, context, {
|
27999
|
+
event: event.detail
|
28000
|
+
}));
|
28001
|
+
});
|
28002
|
+
});
|
28003
|
+
const pinsList = settings.pins || [];
|
28004
|
+
for(let i = 0; i < pinsList.length; i++){
|
28005
|
+
const item = pinsList[i];
|
28006
|
+
await generateElementFromPins(item, element, context, document, options);
|
28007
|
+
}
|
28008
|
+
parent == null ? void 0 : parent.appendChild(element);
|
28009
|
+
return element;
|
28010
|
+
};
|
27943
28011
|
const preparePinsSettings = async (settings, context)=>{
|
27944
28012
|
const localContext = _extends({}, context, {
|
27945
28013
|
variables: context.variables || {},
|
@@ -33561,8 +33629,10 @@ let KeycloakService = class KeycloakService {
|
|
33561
33629
|
});
|
33562
33630
|
return pinsSettings;
|
33563
33631
|
}
|
33564
|
-
async decodedToken(url, realm, token) {
|
33565
|
-
const response = await fetch(`${url}/realms/${realm}/protocol/openid-connect/certs
|
33632
|
+
async decodedToken(url, realm, token, signal) {
|
33633
|
+
const response = await fetch(`${url}/realms/${realm}/protocol/openid-connect/certs`, {
|
33634
|
+
signal
|
33635
|
+
});
|
33566
33636
|
const infos = await response.json();
|
33567
33637
|
const publicKey = `-----BEGIN CERTIFICATE-----\n${infos.keys.find(({ alg })=>alg === 'RS256').x5c[0]}\n-----END CERTIFICATE-----`;
|
33568
33638
|
const decodedtoken = jsonwebtoken.verify(token, publicKey, {
|
@@ -33589,36 +33659,25 @@ let KeycloakService = class KeycloakService {
|
|
33589
33659
|
}
|
33590
33660
|
return output;
|
33591
33661
|
}
|
33592
|
-
async pins2html(pins) {
|
33662
|
+
async pins2html(pins, context) {
|
33593
33663
|
const dom = new JSDOM();
|
33594
33664
|
const element = dom.window.document.createElement('section');
|
33595
|
-
await this.generateElementsFromPins(pins, element,
|
33665
|
+
await this.generateElementsFromPins(pins, element, {
|
33666
|
+
config: {
|
33667
|
+
VERSIONS: context.config.VERSIONS || {}
|
33668
|
+
},
|
33669
|
+
variables: context.variables || {},
|
33670
|
+
request: context.request || {}
|
33671
|
+
}, dom.window.document);
|
33596
33672
|
return element.innerHTML;
|
33597
33673
|
}
|
33598
|
-
async generateElementsFromPins(pinsList, parent,
|
33674
|
+
async generateElementsFromPins(pinsList, parent, context, document) {
|
33599
33675
|
for(let i = 0; i < pinsList.length; i++){
|
33600
33676
|
const item = pinsList[i];
|
33601
|
-
await
|
33602
|
-
|
33603
|
-
|
33604
|
-
|
33605
|
-
const element = dom.window.document.createElement(pinsSettings.element);
|
33606
|
-
element.setAttribute('data-ssr', '1');
|
33607
|
-
const settings = pinsSettings;
|
33608
|
-
Object.entries(settings.properties || {}).forEach(([key, value])=>{
|
33609
|
-
if (key === 'textContent') {
|
33610
|
-
element.textContent = value;
|
33611
|
-
} else if (key === 'innerHTML') {
|
33612
|
-
element.innerHTML = value;
|
33613
|
-
} else if (typeof value === 'string') {
|
33614
|
-
element.setAttribute(key, value);
|
33615
|
-
} else {
|
33616
|
-
element[key] = value;
|
33617
|
-
}
|
33618
|
-
});
|
33619
|
-
const pinsList = settings.pins || [];
|
33620
|
-
await this.generateElementsFromPins(pinsList, element, dom);
|
33621
|
-
parent.appendChild(element);
|
33677
|
+
await generateElementFromPins(item, parent, context, document, {
|
33678
|
+
import: false
|
33679
|
+
});
|
33680
|
+
}
|
33622
33681
|
}
|
33623
33682
|
async page(params, _pinsSettingsList, context) {
|
33624
33683
|
var _context_request_body;
|
@@ -33632,9 +33691,10 @@ let KeycloakService = class KeycloakService {
|
|
33632
33691
|
const pinsSettingsList = ((_pinsSettings_properties = pinsSettings.properties) == null ? void 0 : _pinsSettings_properties['execute']) || [];
|
33633
33692
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
33634
33693
|
if (token) {
|
33694
|
+
var _context_protected;
|
33635
33695
|
context.keycloak = {
|
33636
33696
|
isLogged: true,
|
33637
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
33697
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
33638
33698
|
};
|
33639
33699
|
} else {
|
33640
33700
|
context.keycloak = {
|
@@ -33651,7 +33711,7 @@ let KeycloakService = class KeycloakService {
|
|
33651
33711
|
<!DOCTYPE html>
|
33652
33712
|
<html style="${styleHtml}">
|
33653
33713
|
<head>
|
33654
|
-
${head ? await this.pins2html(head) : `
|
33714
|
+
${head ? await this.pins2html(head, context) : `
|
33655
33715
|
<meta charset="UTF-8" />
|
33656
33716
|
<title>Digipair</title>
|
33657
33717
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
@@ -33731,7 +33791,7 @@ let KeycloakService = class KeycloakService {
|
|
33731
33791
|
await executePinsList(${JSON.stringify(this.prepareBrowserPinsSettings('browserInitialize', browserInitialize))}, context);
|
33732
33792
|
|
33733
33793
|
const pinsList = ${JSON.stringify(this.prepareBrowserPinsSettings('body', body))};
|
33734
|
-
document.querySelectorAll('body > [data-
|
33794
|
+
document.querySelectorAll('body > [data-digipair-pins]').forEach((element) => element.remove()); // Remove SSR elements
|
33735
33795
|
for (let i = 0; i < pinsList.length; i++) {
|
33736
33796
|
const item = pinsList[i];
|
33737
33797
|
await generateElementFromPins(item, document.body, { ...context, data: ${JSON.stringify(preparedData)} });
|
@@ -33742,7 +33802,7 @@ let KeycloakService = class KeycloakService {
|
|
33742
33802
|
}, 1);
|
33743
33803
|
</script>
|
33744
33804
|
|
33745
|
-
|
33805
|
+
${ssr ? await this.pins2html(body, context) : ''}
|
33746
33806
|
</body>
|
33747
33807
|
</html>
|
33748
33808
|
`;
|
@@ -33753,9 +33813,10 @@ let KeycloakService = class KeycloakService {
|
|
33753
33813
|
const { execute, secured = true, url = context.privates.KEYCLOAK_URL, realm = context.privates.KEYCLOAK_REALM } = params;
|
33754
33814
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
33755
33815
|
if (token) {
|
33816
|
+
var _context_protected;
|
33756
33817
|
context.keycloak = {
|
33757
33818
|
isLogged: true,
|
33758
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
33819
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
33759
33820
|
};
|
33760
33821
|
} else {
|
33761
33822
|
context.keycloak = {
|
@@ -33777,9 +33838,10 @@ let KeycloakService = class KeycloakService {
|
|
33777
33838
|
const { steps, secured = true, url = context.privates.KEYCLOAK_URL, realm = context.privates.KEYCLOAK_REALM } = params;
|
33778
33839
|
const token = /^Bearer /g.test(context.request.headers.authorization) && ((_context_request_headers_authorization = context.request.headers.authorization) == null ? void 0 : _context_request_headers_authorization.replace(/^Bearer /g, ''));
|
33779
33840
|
if (token) {
|
33841
|
+
var _context_protected;
|
33780
33842
|
context.keycloak = {
|
33781
33843
|
isLogged: true,
|
33782
|
-
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''))
|
33844
|
+
decodedToken: await this.decodedToken(url, realm, context.request.headers.authorization.replace(/^Bearer /, ''), (_context_protected = context.protected) == null ? void 0 : _context_protected.signal)
|
33783
33845
|
};
|
33784
33846
|
} else {
|
33785
33847
|
context.keycloak = {
|
package/package.json
CHANGED
File without changes
|
File without changes
|