Skip to content

Instantly share code, notes, and snippets.

@xavbeta
Created January 25, 2022 21:38
Show Gist options
  • Save xavbeta/12291da908c2b359858f18259d814310 to your computer and use it in GitHub Desktop.
Save xavbeta/12291da908c2b359858f18259d814310 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "q-marche.turitweb.it.ipynb",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyN4SpfyI8sob2Q5Jrh8Zd+E",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/xavbeta/1901f9ffc82ee97dd655067408bd1393/q-marche-turitweb-it.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"Per usufruire della login SPID, CIE-ID, ecc, dovreste chiamare in GET l'indirizzo\n",
"https://cohesion2.regione.marche.it/SPManager/WAYF.aspx con il parametro dell'auth code che utilizzate in questo momento leggermente modificato.\n",
"Pendiamo ad esempio l'attuale parametro inviato da q-marche.turitweb.it:"
],
"metadata": {
"id": "92HCkXsx6lHs"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "fb1QyNhT6j7V"
},
"outputs": [],
"source": [
"<?xml version=\"1.0\" ?>\n",
"<dsAuth xmlns=\"http://tempuri.org/Auth.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n",
"\t<auth>\n",
"\t\t<user/>\n",
"\t\t<id_sa/>\n",
"\t\t<id_sito>TEST</id_sito>\n",
"\t\t<esito_auth_sa/>\n",
"\t\t<id_sessione_sa/>\n",
"\t\t<id_sessione_aspnet_sa/>\n",
"\t\t<url_validate>https://q-marche.turitweb.it/cohesionAuth</url_validate>\n",
"\t\t<url_richiesta>https://q-marche.turitweb.it:443/cohesionCallback</url_richiesta>\n",
"\t\t<esito_auth_sso/>\n",
"\t\t<id_sessione_sso/>\n",
"\t\t<id_sessione_aspnet_sso/>\n",
"\t\t<stilesheet>dummy</stilesheet>\n",
"\t</auth>\n",
"</dsAuth>"
]
},
{
"cell_type": "markdown",
"source": [
"In particolare: \n",
"* **id_sito** l'identificativo assegnato all'integrazione specifica con Cohesion. Ogni sito ha virtualmente un id_sito differente e univoco;\n",
"* **url_validate** contiene l'URL al quale Cohesion reindirizza i dati reperiti dall'IDP (Post, Namirial, Cohesion, ecc...) dopo la login;\n",
"* **url_richieste** contiene l'URL della pagina a cui tornare in caso di errori di autenticazione;\n",
"* **stilesheet** contiene [opzionalmente] l'URL al quale Cohesion fa il redirect dopo aver eseguito la cancellazione della sessione in seguito ad una richiesta di logout. Contiene anche eventuali restrizioni sul livello di autenticazione richiesto (SPID livello 1, 2 o 3). Per specificare indirizzo di logout e restrizioni sull'autenticazione è sufficiente.\n"
],
"metadata": {
"id": "4jIwdXdP7vgZ"
}
},
{
"cell_type": "markdown",
"source": [
"La vostra richiesta attualmente non rispetta i parametri minimi previsti per l'integrazione SAML2.0 (necessaria per abilitare la login SPID, CIE-ID ecc).\n",
"\n",
"Una esempio valido sarebbe il seguente:"
],
"metadata": {
"id": "oM8CJJog_ne2"
}
},
{
"cell_type": "code",
"source": [
"<?xml version=\"1.0\" ?>\n",
"<dsAuth xmlns=\"http://tempuri.org/Auth.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n",
"\t<auth>\n",
"\t\t<user/>\n",
"\t\t<id_sa/>\n",
"\t\t<id_sito>IOService</id_sito>\n",
"\t\t<esito_auth_sa/>\n",
"\t\t<id_sessione_sa/>\n",
"\t\t<id_sessione_aspnet_sa/>\n",
"\t\t<url_validate>https://q-marche.turitweb.it/Login</url_validate>\n",
"\t\t<url_richiesta>https://q-marche.turitweb.it</url_richiesta>\n",
"\t\t<esito_auth_sso/>\n",
"\t\t<id_sessione_sso/>\n",
"\t\t<id_sessione_aspnet_sso/>\n",
"\t\t<stilesheet>AuthRestriction=1,2,3;https://q-marche.turitweb.it/LogOff</stilesheet>\n",
"\t</auth>\n",
"</dsAuth>"
],
"metadata": {
"id": "IssqJ_jnAOrk"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"In questo esempio stiamo dicendo a Cohesion che:\n",
"* vogliamo che il token di autenticazione venga inoltrato in POST (per default) all'indirizzo https://q-marche.turitweb.it/Login\n",
"* vogliamo che una volta fatto il logout Cohesion reindirizzi all'URL https://q-marche.turitweb.it/LogOff\n",
"* il livello di autenticazione minimo accettabile è il 2 (CF+Password+PIN se l'IDP è Cohesion oppure SPID livello2 negli altri casi). (Per accettare ogni tipo di autenticazione impostare il parametro come AuthRestriction=0,1,2,3;https://q-marche.turitweb.it/LogOff)\n",
"* se ci sono errori vogliamo che Cohesion torni alla homepage (https://q-marche.turitweb.it)"
],
"metadata": {
"id": "g9Jiax4PAb7V"
}
},
{
"cell_type": "markdown",
"source": [
"Il parametro auth viene codificato dalla servlet in base64 e poi ne viene fatto l'urlencode. Per questo la chiamata avrà una forma di questo genere:"
],
"metadata": {
"id": "Y3ZIZneY6443"
}
},
{
"cell_type": "markdown",
"source": [
"https://cohesion2.regione.marche.it/SPManager/WAYF.aspx?auth=PD94bWwgdmVyc2lvbj0iMS4wIiA%2FPiA8ZHNBdXRoIHhtbG5zPSJodHRwOi8vdGVtcHVyaS5vcmcvQXV0aC54c2QiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPiAJPGF1dGg%2BIAkJPHVzZXIvPiAJCTxpZF9zYS8%2BIAkJPGlkX3NpdG8%2BSU9TZXJ2aWNlPC9pZF9zaXRvPiAJCTxlc2l0b19hdXRoX3NhLz4gCQk8aWRfc2Vzc2lvbmVfc2EvPiAJCTxpZF9zZXNzaW9uZV9hc3BuZXRfc2EvPiAJCTx1cmxfdmFsaWRhdGU%2BaHR0cHM6Ly9xLW1hcmNoZS50dXJpdHdlYi5pdC9Mb2dpbjwvdXJsX3ZhbGlkYXRlPiAJCTx1cmxfcmljaGllc3RhPmh0dHBzOi8vcS1tYXJjaGUudHVyaXR3ZWIuaXQ8L3VybF9yaWNoaWVzdGE%2BIAkJPGVzaXRvX2F1dGhfc3NvLz4gCQk8aWRfc2Vzc2lvbmVfc3NvLz4gCQk8aWRfc2Vzc2lvbmVfYXNwbmV0X3Nzby8%2BIAkJPHN0aWxlc2hlZXQ%2BQXV0aFJlc3RyaWN0aW9uPTEsMiwzO2h0dHBzOi8vcS1tYXJjaGUudHVyaXR3ZWIuaXQvTG9nT2ZmPC9zdGlsZXNoZWV0PiAJPC9hdXRoPiA8L2RzQXV0aD4%3D\n"
],
"metadata": {
"id": "Y38cWZACCYbx"
}
},
{
"cell_type": "markdown",
"source": [
"# Cosa contiene il token Cohesion dopo l'autenticazione?\n",
"\n",
"Dopo che l'utente si è autenticato col livello richiesto coi parametri specificati precedentemente, Cohesion fa una chiamata POST all'indirizzo specificato in **url_validate** dove nel body verrà specificato un token di autenticazione. \n",
"Nel body ci sarà un elento **auth** codificato in base64 e poi urlencoded che conterrà un XML di questo tipo:"
],
"metadata": {
"id": "GBDP7HE6CcBi"
}
},
{
"cell_type": "code",
"source": [
"<?xml version=\"1.0\" ?>\n",
"<dsAuth xmlns=\"http://tempuri.org/Auth.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n",
"\t<auth>\n",
"\t\t<user>RSSMRA85D18F051Y</user>\n",
"\t\t<id_sa/>\n",
"\t\t<id_sito>TEST</id_sito>\n",
"\t\t<esito_auth_sa/>\n",
"\t\t<id_sessione_sa/>\n",
"\t\t<id_sessione_aspnet_sa/>\n",
"\t\t<url_validate>https://q-marche.turitweb.it/Login</url_validate>\n",
"\t\t<url_richiesta>https://q-marche.turitweb.it</url_richiesta>\n",
"\t\t<esito_auth_sso>OK</esito_auth_sso>\n",
"\t\t<id_sessione_sso>A5D64899EBCEE1FA6B3E8FB3D3D358D7E5843EA25EDFD62277CACE8A5EF23B1C5E6FAB916F333B0AFB0FAE6C4CDF7B8E8DEE461E8661DB04F5FFB01BC0EF9FCB90EEA2ACA7988119EFE17D5C3BB58BC890D75D724D434D7D60C2F451F6A51D1DFFA900EF0AAA631A51458860C6CEC7B1EBC525561624208066DF276314F41F6EC258CA3F</id_sessione_sso>\n",
"\t\t<id_sessione_aspnet_sso>ufrq00x4f0cq2yog2ozv4lxx;https://idp.namirialtsp.com/idp;https://q-marche.turitweb.it/LogOff;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;</id_sessione_aspnet_sso>\n",
"\t\t<stilesheet>AuthRestriction=1,2,3;https://q-marche.turitweb.it/LogOff</stilesheet>\n",
"\t\t<ip xmlns=\"\">cohesion2.regione.marche.it</ip>\n",
"\t\t<AuthRestriction xmlns=\"\">1,2,3</AuthRestriction>\n",
"\t\t<UType xmlns=\"\">CD</UType>\n",
"\t\t<purpose xmlns=\"\"/>\n",
"\t\t<url_logout xmlns=\"\">https://q-marche.turitweb.it/LogOff</url_logout>\n",
"\t\t<cittad xmlns=\"\">1</cittad>\n",
"\t</auth>\n",
"</dsAuth>"
],
"metadata": {
"id": "cmHRRZ1JDt-Z"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"Queste informazioni ancora non comprendono gli attributi identificativi dell\\'utente (o meglio c'è il solo codice fiscale nell'elemento **user**).\n",
"\n",
"Per ottenre gli attributi completi è necessario effettuare un'altra chiamata GET o POST all'indirizzo https://cohesion2.regione.marche.it/SPManager/webCheckSessionSSO.aspx con i seguenti parametri:\n",
"Operation=GetCredential&IdSessioneSSO={id_sessione_sso}&IdSessioneASPNET={id_sessione_aspnet_sso}\n",
"\n",
"dove id_sessione_sso e id_sessione_aspnet_sso sono quelli ricevuti da Cohesion nella chiamata POST all'url_validate."
],
"metadata": {
"id": "zvDpLOGKD6vy"
}
},
{
"cell_type": "code",
"source": [
"https://cohesion2.regione.marche.it/SPManager/webCheckSessionSSO.aspx?Operation=GetCredential&IdSessioneSSO=A5D64899EBCEE1FA6B3E8FB3D3D358D7E5843EA25EDFD62277CACE8A5EF23B1C5E6FAB916F333B0AFB0FAE6C4CDF7B8E8DEE461E8661DB04F5FFB01BC0EF9FCB90EEA2ACA7988119EFE17D5C3BB58BC890D75D724D434D7D60C2F451F6A51D1DFFA900EF0AAA631A51458860C6CEC7B1EBC525561624208066DF276314F41F6EC258CA3F&IdSessioneASPNET=ufrq00x4f0cq2yog2ozv4lxx;https://idp.namirialtsp.com/idp;https://q-marche.turitweb.it/LogOff;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;"
],
"metadata": {
"id": "zn6P9NWEFIIs"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"Il token SAML restituito da Cohesion avrà la forma seguente:"
],
"metadata": {
"id": "WwAdIh6kFm2G"
}
},
{
"cell_type": "code",
"source": [
"<Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\">\n",
"\t<SignedInfo>\n",
"\t\t<CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>\n",
"\t\t<SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>\n",
"\t\t<Reference URI=\"#SignedXmlId\">\n",
"\t\t\t<DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>\n",
"\t\t\t<DigestValue>rNHSy/TcTBIweMerIO3jizVm7u0=</DigestValue>\n",
"\t\t</Reference>\n",
"\t</SignedInfo>\n",
"\t<SignatureValue>\n",
"\t\tOz9wACp9Rxo4Z4pC8o61iXuVSJNO+UcszPNcAMNFUAY0I17IeGnB93JpwEWGbPfqn5a+i3IQdNsqlIbQtwAGovBQ6DTTb85kDo4YDue26o7a4np5DfwnO6SuhHsBHMbTvnI9A+45Q7Li4On+eELEQWFRrbS11MmwRYBxR5m5PWKupkX3O2r9JtG6tuKwi/L5+A4U/MqLKDdUm9/TX1lzn5c23XpQgiYpkGrwRqp+Q1Dsem7FcV868VYvgwYkRkj/jNgLFtcdoFij+qBRZi47EUa35KeZgP5V1ENcYigG0OXQQbdavCnPcE3EHjEL3ApkuPNVuSbJZv5TjgFdCpqjXg==\n",
"\t</SignatureValue>\n",
"\t<KeyInfo>\n",
"\t\t<X509Data>\n",
"\t\t\t<X509Certificate>\n",
"\t\t\t\t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\n",
"\t\t\t</X509Certificate>\n",
"\t\t</X509Data>\n",
"\t</KeyInfo>\n",
"\t<Object Id=\"SignedXmlId\">\n",
"\t\t<profile timestamp=\"Tue, 25 Jan 2022 22:02:49 GMT\" xmlns=\"\">\n",
"\t\t\t<base>\n",
"\t\t\t\t<placeOfBirth>F051</placeOfBirth>\n",
"\t\t\t\t<localita_nascita>ROMA</localita_nascita>\n",
"\t\t\t\t<address>Via dei matti 28 60044 ANCONA AN</address>\n",
"\t\t\t\t<indirizzo_residenza>Via dei matti 28 60044 ANCONA AN</indirizzo_residenza>\n",
"\t\t\t\t<gender>M</gender>\n",
"\t\t\t\t<sesso>M</sesso>\n",
"\t\t\t\t<digitalAddress>xxxxxxxxxxx@pec.it</digitalAddress>\n",
"\t\t\t\t<email_certificata>xxxxxxxxxxx@pec.it</email_certificata>\n",
"\t\t\t\t<familyName>ROSSI</familyName>\n",
"\t\t\t\t<cognome>ROSSI</cognome>\n",
"\t\t\t\t<name>MARIO</name>\n",
"\t\t\t\t<nome>MARIO</nome>\n",
"\t\t\t\t<dateOfBirth>1985-04-18</dateOfBirth>\n",
"\t\t\t\t<data_nascita>18/04/1985</data_nascita>\n",
"\t\t\t\t<spidCode>NAMI0002653481</spidCode>\n",
"\t\t\t\t<countyOfBirth>RM</countyOfBirth>\n",
"\t\t\t\t<provincia_nascita>RM/provincia_nascita>\n",
"\t\t\t\t<fiscalNumber>TINIT-RSSMRA85D18F051Y</fiscalNumber>\n",
"\t\t\t\t<codice_fiscale>RSSMRA85D18F051Y</codice_fiscale>\n",
"\t\t\t\t<email>mario.rossi@regione.marche.it</email>\n",
"\t\t\t\t<companyFiscalNumber/>\n",
"\t\t\t\t<tipo_autenticazione>PIN</tipo_autenticazione>\n",
"\t\t\t\t<login>RSSMRA85D18F051Y</login>\n",
"\t\t\t\t<samlResponseBase64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi...</samlResponseBase64>\n",
"\t\t\t</base>\n",
"\t\t</profile>\n",
"\t</Object>"
],
"metadata": {
"id": "7wICaquPFx1d"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"Gli attributi sull'utente sono contenute nell'oggetto **Object**.\n",
"Gli attributi restituiti possono variare in base all'IDP scelto, al livello di autenticazione richiesto, alle impostazioni dell'utente.\n",
"\n",
"Ottenute Queste è possibile eseguire il login (o eventualmente la registrazione automatica) dell'utente nel proprio sistema.\n",
"\n"
],
"metadata": {
"id": "F9AI65qWGliL"
}
},
{
"cell_type": "markdown",
"source": [
"# Come effettuare il logout?\n",
"\n",
"È molto semplice: basta chiamare lo stesso endpoint utilizzato per ottenere gli attributi dell'utente cambiando solamente il parametro **Operation** specificanto *LogoutSito* invece di *GetCredential*\n",
"\n",
"Nel nostro esempio:"
],
"metadata": {
"id": "q_6socZfHDGF"
}
},
{
"cell_type": "code",
"source": [
"https://cohesion2.regione.marche.it/SPManager/webCheckSessionSSO.aspx?Operation=LogoutSito&IdSessioneSSO=A5D64899EBCEE1FA6B3E8FB3D3D358D7E5843EA25EDFD62277CACE8A5EF23B1C5E6FAB916F333B0AFB0FAE6C4CDF7B8E8DEE461E8661DB04F5FFB01BC0EF9FCB90EEA2ACA7988119EFE17D5C3BB58BC890D75D724D434D7D60C2F451F6A51D1DFFA900EF0AAA631A51458860C6CEC7B1EBC525561624208066DF276314F41F6EC258CA3F&IdSessioneASPNET=ufrq00x4f0cq2yog2ozv4lxx;https://idp.namirialtsp.com/idp;https://q-marche.turitweb.it/LogOff;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;AAdzZWNyZXQxGLSQhZFb4TSPKKPNCGfO5MaCcJ99DiuEnIzpO4YvtOrgf+6qvwyEVOguFDCVbyPcZ2hhjbBtPtuCWUGs+FYX9zREfvZ1heshK7yzE24MU7JsIBK17atMdbL31QbDPNKbH2wiswXhL2CJGjY=;"
],
"metadata": {
"id": "_vXb9ulqIsiO"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment