Esercitazione per la configurazione di Jumio con Azure Active Directory B2C
Questa esercitazione descrive come integrare Azure Active Directory B2C (Azure AD B2C) con Jumio, un servizio di verifica ID che consente la verifica dell'ID automatizzata in tempo reale per proteggere i dati dei clienti.
Prerequisiti
Per iniziare, è necessario:
Una sottoscrizione di Azure
- Se non ne è disponibile uno, è possibile ottenere un account gratuito di Azure
- Un tenant B2C di Azure AD collegato alla sottoscrizione di Azure
Descrizione dello scenario
L'integrazione di Jumio include i componenti seguenti:
- Azure AD B2C - Server di autorizzazione che verifica le credenziali utente, noto anche come provider di identità (IdP)
- Jumio - Verifica i dettagli dell'ID utente
- API REST intermedia : usarla per implementare l'integrazione di Azure AD B2C e Jumio
- Archiviazione BLOB di Azure : usarla per ottenere file di interfaccia utente personalizzati per i criteri di Azure AD B2C
Il diagramma dell'architettura seguente illustra l'implementazione.
- L'utente accede o esegue l'iscrizione e crea un account. Azure AD B2C raccoglie gli attributi utente.
- Azure AD B2C chiama l'API di livello intermedio e passa gli attributi utente.
- L'API a livello intermedio converte gli attributi utente in un formato API Jumio e invia gli attributi a Jumio.
- Jumio elabora gli attributi e restituisce i risultati all'API di livello intermedio.
- L'API a livello intermedio elabora i risultati e invia informazioni pertinenti ad Azure AD B2C.
- Azure AD B2C riceve le informazioni. Se la risposta ha esito negativo, viene visualizzato un messaggio di errore. Se la risposta ha esito positivo, l'utente viene autenticato e scritto nella directory.
Creare un account Jumio
Per creare un account Jumio, passare alla pagina jumio.com Contatto .
Configurare Azure AD B2C con Jumio
Dopo aver creato un account Jumio, usarlo per configurare Azure AD B2C.
Distribuire l'API
Da esempi/Jumio/API/Jumio.Api/distribuire il codice in un servizio di Azure. È possibile pubblicare il codice da Visual Studio.
Nota
Per configurare Microsoft Entra ID, è necessario l'URL del servizio distribuito.
Distribuire il certificato client
Un certificato client consente di proteggere la chiamata API Jumio.
Creare un certificato autofirmato usando il codice di esempio di PowerShell seguente:
$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=Demo-SigningCertificate" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3") -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -NotAfter (Get-Date).AddYears(2) -CertStoreLocation "Cert:\CurrentUser\My" $cert.Thumbprint $pwdText = "Your password" $pwd = ConvertTo-SecureString -String $pwdText -Force -AsPlainText Export-PfxCertificate -Cert $Cert -FilePath "{your-local-path}\Demo-SigningCertificate.pfx" -Password $pwd.
Il certificato viene esportato nel percorso specificato per
{your-local-path}
.Per importare il certificato in Servizio app di Azure, vedere Caricare un certificato privato.
Creare una chiave di firma/crittografia
Creare una stringa casuale con una lunghezza maggiore di 64 caratteri (solo lettere e numeri).
ad esempio
C9CB44D98642A7062A0D39B94B6CDC1E54276F2E7CFFBF44288CEE73C08A8A65
Usare lo script di PowerShell seguente per creare la stringa:
-join ((0x30..0x39) + ( 0x41..0x5A) + ( 0x61..0x7A) + ( 65..90 ) | Get-Random -Count 64 | % {[char]$_})
Configurare l'API
È possibile configurare le impostazioni dell'applicazione in Servizio app di Azure senza controllarle in un repository. È necessario fornire le impostazioni seguenti all'API REST:
Impostazioni applicazione | Source (Sorgente) | Note |
---|---|---|
JumioSettings:AuthUsername | Configurazione dell'account Jumio | N/D |
JumioSettings:AuthPassword | Configurazione dell'account Jumio | N/D |
AppSettings:SigningCertThumbprint | Identificazione personale del certificato autofirmato creata | N/D |
AppSettings:IdTokenSigningKey | Chiave di firma creata con PowerShell | N/D |
AppSettings:IdTokenEncryptionKey | Chiave di crittografia creata con PowerShell | N/D |
AppSettings:IdTokenIssuer | Autorità di certificazione per il token JWT (è preferibile un valore GUID) | N/D |
AppSettings:IdTokenAudience | Destinatari per il token JWT (è preferibile un valore GUID) | N/D |
AppSettings:BaseRedirectUrl | URL di base dei criteri di Azure AD B2C | https://{your-tenant-name}.b2clogin.com/{your-application-id} |
WEBSITE_LOAD_CERTIFICATES | Identificazione personale del certificato autofirmato creata | N/D |
Distribuire l'interfaccia utente
- Configurare un contenitore di archiviazione BLOB nell'account di archiviazione.
- Archiviare i file dell'interfaccia utente da /samples/Jumio/UI/ nel contenitore BLOB.
Aggiornare i file dell'interfaccia utente
- Nei file dell'interfaccia utente passare a /samples/Jumio/UI/ocean_blue/.
- Aprire ogni file HTML.
- Trovare e sostituire
{your-ui-blob-container-url}
con l'URL del contenitore BLOB. - Trovare e sostituire
{your-intermediate-api-url}
con l'URL del servizio app per le API intermedie.
Nota
È consigliabile aggiungere la notifica di consenso nella pagina della raccolta di attributi. Notifica agli utenti che le informazioni passano ai servizi di terze parti per la verifica delle identità.
Configurare i criteri di Azure AD B2C
- Passare ai criteri di Azure AD B2C in /samples/Jumio/Policies/.
- Usare le istruzioni nel pacchetto di avvio di criteri personalizzati per scaricare il starter pack LocalAccounts .
- Configurare i criteri per il tenant di Azure AD B2C.
Nota
Aggiornare i criteri per la relazione con il tenant.
Testare il flusso utente
- Aprire il tenant di Azure AD B2C.
- In Criteri selezionare Identity Experience Framework.
- Selezionare signupSignIn creato.
- Selezionare Esegui il flusso utente.
- Per Applicazione selezionare l'app registrata, ad esempio JWT.
- Per URL di risposta selezionare l'URL di reindirizzamento.
- Selezionare Esegui il flusso utente.
- Completare il flusso di iscrizione.
- Creare un account.
- Dopo aver creato l'attributo utente, Viene chiamato Jumio.
Suggerimento
Se il flusso è incompleto, verificare che l'utente sia o non sia, salvato nella directory.