italia / spid-aspnetcore

AspNetCore Remote Authenticator for SPID
https://github.com/danielegiallonardo/spid-aspnetcore
MIT License
41 stars 11 forks source link

Configurazione Progetto #18

Closed sahel00 closed 3 years ago

sahel00 commented 3 years ago

Salve, Io sto cercando di configurare il progetto, però sto riscontranto qualche problematica. Seguendo la vostra guida ho se configuro il mio AppSetting.Json nella seguente maniera:

"Certificate": {
      "Source": "Store/File/Raw/None",
      "Store": {
        "Location": "CurrentUser",
        "Name": "My",
        "FindType": "FindBySubjectName",
        "FindValue": "HackDevelopers",
        "validOnly": false
      },
      "File": {
        "Path": "myPath",
        "Password": "xxx"
      },
      "Raw": {
        "Certificate": "base64",
        "Password": "password"
      }
}

Quando avvio il progetto mi da il seguente errore: Parameter 'Il parametro certificate non può essere null

Invece se dovessi compilare i valori nel Json non capisco quali parametri dovrei mettere :

"Certificate": {
      "Source": "Raw",
      "Store": {
        "Location": "????",
        "Name": "???",
        "FindType": "????",
        "FindValue": "????",
        "validOnly": false
      },
      "File": {
        "Path": "????",
        "Password": "xxx"
      },
      "Raw": {
        "Certificate": "????",
        "Password": "password"
      }
}

Inoltre vorrei sapere se decidessi di utilizzare il seguente progetto integrandolo con react è possibile farlo ?

danielegiallonardo commented 3 years ago

Il valore riportato in documentazione ("Store/File/Raw/None") indica tutti i valori che è possibile assegnare al campo Source, ma non va specificato così com'è. Se specifichi "Store" bisognerà valorizzare solo i campi della sezione "Store" ignorando le altre sezioni, idem per "File" o per "Raw". Questa libreria è per AspnetCore, non può essere usata in React.

sahel00 commented 3 years ago

Quindi se decidessi di creare un FrontEnd in react e un Backend utilizzando questa libreria non posso ? 2) Quindi prima di avviare questa applicazione devo registrarmi presso AgId? per poi andare a compilare il campo ceritificati nel appsetting 3)Quale la differenza se utilizzassi Raw/Souce/File/None Grazie e scusa del disturbo

danielegiallonardo commented 3 years ago

Questa libreria è pensata per frontend fatti con AspnetCore MVC....nulla vieta di renderizzare il pulsante con vanilla js (quindi senza usare il taghelper messo a disposizione dalla libreria) e poi far riferimento alla url di Challenge sul backend... Agid entra in gioco dal collaudo in poi, si può tranquillamente effettuare l'integrazione e i test preliminari usando certificati self-signed e l'ambiente di test https://demo.spid.gov.it/ Raw legge il certificato serializzato (con chiave privata) da una stringa Base64 (utile se vuoi salvare il certificato serializzato da qualche parte, db, keyvault, blobstorage, ecc....), File serve a leggere un certificato da FileSystem specificando il percorso, e Store legge il certificato dal CertificateStore della macchina su cui gira l'app.

sahel00 commented 3 years ago

Ok grazie mille, QUesto discorso vale anche per la Cie giusto?

danielegiallonardo commented 3 years ago

Si, le due librerie funzionano in modo simile, condividono molto della base codice.