PageSourceSearch

https://www.comune.catanzaro.it/wp-content/plugins/spid/assets/js/spid-idps.js?ver=7.1.2

js comune.catanzaro.it collected 2026-10-02 19:16:34 UTC 3,730 bytes, 59 lines download raw bytes

1
2// * spid-idps.js *
3// This script populate the SPID button with a remote json or the `idps` var content
4//var queryURL = "js/JSON_IDP_list_EXAMPLE.json";
5var queryURL = "https://registry.spid.gov.it/entities-idp?&output=json&custom=info_display_base";
6var idps = [{"organization_name": "ArubaPEC S.p.A.", "entity_id": "https://loginspid.aruba.it", "logo_uri": "img/spid-idp-arubaid.svg"},{"organization_name": "InfoCert S.p.A.", "entity_id": "https://identity.infocert.it", "logo_uri": "img/spid-idp-infocertid.svg"},{"organization_name": "IN.TE.S.A. S.p.A.", "entity_id": "https://spid.intesa.it", "logo_uri": "img/spid-idp-intesaid.svg"},{"organization_name": "Lepida S.p.A.", "entity_id": "https://id.lepida.it/idp/shibboleth", "logo_uri": "img/spid-idp-lepidaid.svg"},{"organization_name": "Namirial", "entity_id": "https://idp.namirialtsp.com/idp", "logo_uri": "img/spid-idp-namirialid.svg"},{"organization_name": "Poste Italiane SpA", "entity_id": "https://posteid.poste.it", "logo_uri": "img/spid-idp-posteid.svg"},{"organization_name": "Sielte S.p.A.", "entity_id": "https://identity.sieltecloud.it", "logo_uri": "img/spid-idp-sielteid.svg"},{"organization_name": "Register.it S.p.A.", "entity_id": "https://spid.register.it", "logo_uri": "img/spid-idp-spiditalia.svg"},{"organization_name": "TI Trust Technologies srl", "entity_id": "https://login.id.tim.it/affwebservices/public/saml2sso", "logo_uri": "img/spid-idp-timid.svg"},{"organization_name": "TeamSystem s.p.a.", "entity_id": "https://spid.teamsystem.com/idp", "logo_uri": "img/spid-idp-teamsystemid.svg"}]
7
8// spid_populate function, if '.spid-button[data-spid-remote] ul' exist, try to get the remote json file and pupulate all spid buttons
9function spid_populate() {
10  let spid_elements = document.querySelectorAll('ul[data-spid-remote]')
11  if (spid_elements.length > 0 ) {
12    fetch(queryURL)
13     .then(function (response) {
14       return response.json();
15      })
16     .then(function (idps) {
17       idps = idps.sort(() => Math.random() - 0.5)
18       for (var u = 0; u < spid_elements.length; u++) {
19	      for (var i = 0; i < idps.length; i++) { spid_addIdpEntry(idps[i], spid_elements[u]); }
20
21       }
22      })
23     .catch(function (error) {
24      console.log('Error during fetch: ' + error.message);
25      idps.sort(() => Math.random() - 0.5)
26      for (var u = 0; u < spid_elements.length; u++) {
27        for (var i = 0; i < idps.length; i++) { spid_addIdpEntry(idps[i], spid_elements[u]); }
28	    }
29     });
30  }
31}
32
33// function spid_addIdpEntry make a "li" element with the ipd link and prepend this in a element
34//
35// options:
36// - data - is an object with "organization_name", "entity_id" and "logo_uri" values
37// - element - is the element where is added the new "li" element
38function spid_addIdpEntry(data, element) {
39  const att = document.createAttribute("data-idp");
40  att.value = data['entity_id'];
41  let li = document.createElement('li');
42  li.className = 'spid-idp-button-link';
43  li.setAttributeNode(att);
44  if (element.id.indexOf('post')!== -1) {
45    li.innerHTML = `<button class="idp-button-idp-logo" name="${data['organization_name']}" type="submit"><span class="spid-sr-only">${data['organization_name']}</span><img class="spid-idp-button-logo" src="${data['logo_uri']}" alt="${data['organization_name']}" /></button></li>`
46  };  
47  if (element.id.indexOf('get')!== -1) {
48    li.innerHTML = `<a href="#"><span class="spid-sr-only">${data['organization_name']}</span><img src="${data['logo_uri']}" alt="${data['organization_name']}" /></a>`
49  };
50  element.prepend(li)
51}
52
53// when page is ready populate all spid buttons
54document.onreadystatechange = function () {
55  if (document.readyState == "interactive") {
56    spid_populate()
57  }
58}
59

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.