Esercitazione: Configurare Azure Active Directory B2C con BlokSec per l'autenticazione senza password
Prima di iniziare
Azure Active Directory B2C include due metodi per definire interazioni utente con applicazioni: flussi utente predefiniti o criteri personalizzati configurabili.
Nota
In Azure Active Directory B2C, i criteri personalizzati si indirizzano principalmente a scenari complessi. Per la maggior parte degli scenari, è consigliabile creare flussi utente predefiniti.
Vedere La panoramica dei flussi utente e dei criteri personalizzati
Azure AD B2C e BlokSec
Informazioni su come integrare l'autenticazione di Azure Active Directory B2C (Azure AD B2C) con BlokSecCentraled Identity Router. La soluzione BlokSec semplifica l'accesso utente con l'autenticazione senza password e l'autenticazione a più fattori senza token. La soluzione protegge i clienti da attacchi correlati all'identità, ad esempio l'inserimento di password, il phishing e il man-in-the-middle.
Per altre informazioni, passare a bloksec.com: BlokSec Technologies Inc.
Descrizione dello scenario
L'integrazione blokSec include i componenti seguenti:
- Azure AD B2C : server di autorizzazione e provider di identità (IdP) per le applicazioni B2C
-
BlokSecCentraled Identity Router : gateway per i servizi che applicano BlokSec DIaaS per instradare le richieste di autenticazione e autorizzazione alle applicazioni PIdP (Personal Identity Provider) dell'utente
- È un provider di identità OpenID Connect (OIDC) in Azure AD B2C
-
App per dispositivi mobili basata su BlokSec : utente PIdP nello scenario di autenticazione decentralizzata.
- Se non si usa BlokSec SDK, passare a Google Play per il blokSec yuID gratuito
Il diagramma dell'architettura seguente illustra il flusso di iscrizione, accesso nell'implementazione della soluzione BlokSec.
- L'utente accede a un'applicazione Azure AD B2C e viene inoltrato ai criteri di accesso e iscrizione di Azure AD B2C
- Azure AD B2C reindirizza l'utente al router di identità decentralizzato BlokSec usando il flusso di codice di autorizzazione OIDC.
- Il router BlokSec invia una notifica push all'app per dispositivi mobili dell'utente con i dettagli della richiesta di autenticazione e autorizzazione.
- L'utente esamina la sfida di autenticazione. Viene richiesto un utente accettato per la biometria, ad esempio l'impronta digitale o l'analisi facciale.
- La risposta viene firmata digitalmente con la chiave digitale univoca dell'utente. La risposta di autenticazione fornisce la prova del possesso, della presenza e del consenso. La risposta restituisce al router.
- Il router verifica la firma digitale rispetto alla chiave pubblica non modificabile dell'utente archiviata in un ledger distribuito. Il router risponde ad Azure AD B2C con il risultato dell'autenticazione.
- L'utente viene concesso o negato l'accesso.
Abilitare BlokSec
- Passare a bloksec.com e selezionare Richiedi un tenant demo .
- Nel campo messaggio indicare che si vuole integrare con Azure AD B2C.
- Scaricare e installare l'app per dispositivi mobili BlokSec yuID gratuita.
- Dopo aver preparato il tenant demo, arriva un messaggio di posta elettronica.
- Nel dispositivo mobile con l'applicazione BlokSec selezionare il collegamento per registrare l'account amministratore con l'app yuID.
Prerequisiti
Per iniziare, è necessario:
- Una sottoscrizione di Azure
- Se non ne hai uno, ottieni un account Azfree
- Un tenant di Azure AD B2C collegato alla sottoscrizione di Azure
- Demo blokSec
- Registrare un'applicazione Web
Vedere anche esercitazione: Creare flussi utente e criteri personalizzati in Azure AD B2C
Creare una registrazione dell'applicazione in BlokSec
Nel messaggio di posta elettronica di registrazione dell'account da BlokSec trovare il collegamento alla console di amministrazione BlokSec.
- Accedere alla console di amministrazione BlokSec.
- Nel dashboard principale selezionare Aggiungi applicazione > Crea personalizzata.
- In Nome immettere Azure AD B2C o un nome dell'applicazione.
- Per tipo di accesso Single Sign-On selezionare OIDC.
- Per URI logo immettere un collegamento all'immagine del logo.
- Per gli URI di reindirizzamento, usare
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
. Ad esempio,https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp
. Per un dominio personalizzato, immetterehttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
. - Per URI di reindirizzamento post disconnessione immettere
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout
. - Selezionare l'applicazione Azure AD B2C creata per aprire la configurazione dell'applicazione.
- Selezionare Genera segreto app.
Altre informazioni: Inviare una richiesta di disconnessione.
Nota
È necessario l'ID applicazione e il segreto dell'applicazione per configurare il provider di identità (IdP) in Azure AD B2C.
Aggiungere un nuovo provider di identità in Azure AD B2C
Per le istruzioni seguenti, usare la directory contenente il tenant di Azure AD B2C.
- Accedere al portale di Azure come amministratore globale del tenant di Azure AD B2C.
- Nella barra degli strumenti del portale selezionare Directory e sottoscrizioni.
- Nella pagina Directory e sottoscrizioni delle impostazioni del portale individuare la directory B2C di Azure AD.
- Selezionare Commutatore.
- Nell'angolo superiore sinistro della portale di Azure selezionare Tutti i servizi.
- Cercare e selezionare Azure Active Directory B2C.
- Passare a Dashboard> AzureActive Directory B2C>Identity provider.
- Selezionare Nuovo provider OpenID Connect.
- Selezionare Aggiungi.
Configurare un provider di identità
- Selezionare Tipo di > provider di identità OpenID Connect
- In Name (Nome) immettere BlokSec yuID Passwordless o un altro nome.
- Per URL metadati immettere
https://api.bloksec.io/oidc/.well-known/openid-configuration
. - Per IdV client immettere l'ID applicazione dall'interfaccia utente amministratore BlokSec.
- Per Segreto client immettere il segreto dell'applicazione dall'interfaccia utente amministratore BlokSec.
- Per Ambito selezionare Profilo di posta elettronica OpenID.
- Per Tipo di risposta selezionare Codice.
- Per Hint dominio selezionare yuID.
- Selezionare OK.
- Selezionare Mappare le attestazioni del provider di identità.
- Per ID utente selezionare sub.
- Per Nome visualizzato selezionare nome.
- Per Nome specificato, usare given_name.
- Per Cognome, usare family_name.
- Per Email, usare la posta elettronica.
- Selezionare Salva.
Registrazione utente
- Accedere alla console di amministrazione BlokSec con le credenziali fornite.
- Passare all'applicazione Azure AD B2C creata in precedenza.
- In alto a destra selezionare l'icona a forma di ingranaggio .
- Selezionare Crea account.
- In Crea account immettere le informazioni utente. Prendere nota del nome dell'account.
- Selezionare Submit (Invia).
L'utente riceve un messaggio di posta elettronica di registrazione dell'account all'indirizzo di posta elettronica specificato. Indicare all'utente di selezionare il collegamento di registrazione nel dispositivo mobile con l'app YuID BlokSec.
Creare un criterio del flusso utente
Per le istruzioni seguenti, assicurarsi che BlokSec sia un nuovo provider di identità OIDC (IdP).
- Nel tenant di Azure AD B2C, in Criteri selezionare Flussi utente.
- Selezionare Nuovo flusso utente.
- Selezionare Sign up (Iscrizione) e sign inVersion Create (>Creaversione>).
- Immettere un nome per i criteri.
- Nella sezione Provider di identità selezionare il provider di identità BlokSec creato.
- In Account locale selezionare Nessuno. Questa azione disabilita l'autenticazione basata su password e posta elettronica.
- Selezionare Esegui flusso utente
- Nel modulo immettere l'URL di risposta, ad esempio
https://jwt.ms
. - Il browser viene reindirizzato alla pagina di accesso di BlokSec.
- Immettere il nome dell'account dalla registrazione utente.
- L'utente riceve una notifica push nel dispositivo mobile con l'applicazione BlokSec yuID.
- L'utente apre la notifica e viene visualizzata la richiesta di autenticazione.
- Se l'autenticazione viene accettata, il browser reindirizza l'utente all'URL di risposta.
Nota
In Azure Active Directory B2C i criteri personalizzati si applicano principalmente a scenari complessi. Per la maggior parte degli scenari, è consigliabile usare flussi utente predefiniti.
Vedere La panoramica dei flussi utente e dei criteri personalizzati
Creare una chiave dei criteri
Archiviare il segreto client annotato nel tenant di Azure AD B2C. Per le istruzioni seguenti, usare la directory con il tenant di Azure AD B2C.
- Accedere al portale di Azure.
- Nella barra degli strumenti del portale selezionare Directory e sottoscrizioni.
- Nella pagina Directory e sottoscrizioni delle impostazioni del portale individuare la directory di Azure AD B2C nell'elenco Nome directory .
- Selezionare Cambia.
- Nell'angolo superiore sinistro del portale di Azure selezionare Tutti i servizi
- Cercare e selezionare Azure Active Directory B2C.
- Nella pagina Panoramica selezionare Identity Experience Framework.
- Selezionare Chiavi dei criteri.
- Selezionare Aggiungi.
- Per Opzioni scegliere Manuale.
- Immettere il nome di un criterio per la chiave del criterio. Ad esempio,
BlokSecAppSecret
. Il prefissoB2C_1A_
viene aggiunto al nome della chiave. - In Segreto immettere il segreto client annotato.
- Per Uso chiave selezionare Firma.
- Selezionare Create (Crea).
Configurare BlokSec come provider di identità
Per consentire agli utenti di accedere usando l'identità decentralizzata BlokSec, definire BlokSec come provider di attestazioni. Questa azione garantisce che Azure AD B2C comunichi con esso tramite un endpoint. Azure AD B2C usa attestazioni endpoint per verificare l'identità degli utenti usando biometria, ad esempio l'impronta digitale o l'analisi facciale.
Per definire BlokSec come provider di attestazioni, aggiungerlo all'elemento ClaimsProvider nel file di estensione dei criteri.
Aprire il file
TrustFrameworkExtensions.xml
.Trovare l'elemento ClaimsProviders. Se l'elemento non viene visualizzato, aggiungerlo sotto l'elemento radice.
Per aggiungere un nuovo ClaimsProvider:
<ClaimsProvider> <Domain>bloksec</Domain> <DisplayName>BlokSec</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="BlokSec-OpenIdConnect"> <DisplayName>BlokSec</DisplayName> <Description>Login with your BlokSec decentriled identity</Description> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://api.bloksec.io/oidc/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the BlokSec Application ID --> <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid profile email</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="DiscoverMetadataByTokenIssuer">true</Item> <Item Key="ValidTokenIssuerPrefixes">https://api.bloksec.io/oidc</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_BlokSecAppSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Impostare client_id sull'ID applicazione ottenuto con la registrazione dell'applicazione.
Selezionare Salva.
Aggiungere un percorso utente
Usare le istruzioni seguenti se il provider di identità è configurato, ma non in alcuna pagina di accesso. Se non si ha un percorso utente personalizzato, copiare un percorso utente modello.
- Dal pacchetto iniziale aprire il
TrustFrameworkBase.xml
file. - Trovare e copiare il contenuto dell'elemento UserJourneys che include ID=
SignUpOrSignIn
. - Aprire il file
TrustFrameworkExtensions.xml
. - Trovare l'elemento UserJourneys . Se l'elemento non viene visualizzato, aggiungerne uno.
- Incollare il contenuto dell'elemento UserJourney copiato come elemento figlio dell'elemento UserJourneys .
- Rinominare l'ID percorso utente. Ad esempio, ID=
CustomSignUpSignIn
.
Aggiungere il provider di identità a un percorso utente
Se si dispone di un percorso utente, aggiungervi il nuovo provider di identità. Aggiungere prima un pulsante di accesso, quindi collegarlo a un'azione, ovvero il profilo tecnico creato.
- Nel percorso utente individuare l'elemento del passaggio di orchestrazione che include Type=
CombinedSignInAndSignUp
o Type=ClaimsProviderSelection
. In genere è il primo passaggio di orchestrazione. L'elemento ClaimsProviderSelections contiene un elenco di provider di identità per l'accesso utente. L'ordine degli elementi controlla l'ordine dei pulsanti di accesso visualizzati dall'utente. - Aggiungere un elemento XML ClaimsProviderSelection .
- Impostare il valore di TargetClaimsExchangeId su un nome descrittivo.
- Nel passaggio di orchestrazione successivo aggiungere un elemento ClaimsExchange .
- Impostare l'ID sul valore dell'ID dello scambio di attestazioni di destinazione.
- Aggiornare il valore di TechnicalProfileReferenceId all'ID del profilo tecnico creato.
Il codice XML seguente illustra i primi due passaggi di orchestrazione del percorso utente con il provider di identità:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="BlokSecExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="BlokSecExchange" TechnicalProfileReferenceId="BlokSec-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Configurare i criteri della relying party
I criteri della relying party, ad esempio SignUpSignIn.xml, specificano il percorso utente eseguito da Azure AD B2C.
- Trovare l'elemento DefaultUserJourney nella relying party.
- Aggiornare ReferenceId in modo che corrisponda all'ID percorso utente in cui è stato aggiunto il provider di identità.
Nell'esempio seguente, per il CustomSignUpOrSignIn
percorso utente, ReferenceId è impostato su CustomSignUpOrSignIn
.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Caricare il criterio personalizzati
Per le istruzioni seguenti, usare la directory con il tenant di Azure AD B2C.
- Accedere al portale di Azure.
- Nella barra degli strumenti del portale selezionare Directory e sottoscrizioni.
- Nella pagina Directory e sottoscrizioni delle impostazioni del portale individuare la directory di Azure AD B2C nell'elenco Nome directory
- Selezionare Cambia.
- Nel portale di Azure cercare e selezionare Azure AD B2C.
- In Criteri selezionare Identity Experience Framework.
- Selezionare Carica criteri personalizzati.
- Caricare i due file dei criteri modificati nell'ordine seguente:
- Criteri di estensione, ad esempio
TrustFrameworkExtensions.xml
- Criteri relying party, ad esempio
SignUpSignIn.xml
Testare i criteri personalizzati
- Selezionare i criteri della relying party, ad esempio
B2C_1A_signup_signin
. - In Applicazione selezionare un'applicazione Web registrata.
-
L'URL di risposta viene visualizzato come
https://jwt.ms
. - Selezionare Esegui adesso.
- Nella pagina di iscrizione o accesso selezionare Google per accedere con l'account Google.
- Il browser viene reindirizzato a
https://jwt.ms
. Vedere il contenuto del token restituito da Azure AD B2C.
Altre informazioni : Esercitazione: Registrare un'applicazione Web in Azure Active Directory B2C