Tutta l'infrastruttura di Microsoft Azure che utilizziamo per le nostre soluzioni richiede che app, servizi e utenti vengano autenticati e autorizzati. Active directory è quella parte sulla quale tutti i servizi poggiano, ma essa non è solo dedicata all'uso interno. La parte B2C fornisce tutto il necessario per inserire nei nostri siti web tutta la parte di gestione dell'utenze, dalla registrazione fino al login. E' quindi l'ideale per non dover rifare sempre ogni volta da zero tutta l'infrastruttura che deve tenere anche conto delle normative vigenti.
Poiché B2C ha molte logiche predefinite, è normale delle volte necessitare di personalizzazioni. Possiamo cambiare infatti l'aspetto e soprattutto possiamo intervenire nelle fasi di sign-in e sign-up attraverso delle API REST da noi sviluppate che vengono chiamate in causa al momento giusto. Per farlo dobbiamo innanzitutto registrare nella sezione API connectors i nostri endpoint, che possono essere anche più di uno.

Ci viene richiesto un nome e l'indirizzo HTTP dove raggiungere la nostra API che riceverà il payload JSON contenente l'operazione. Poiché la nostra API dev'essere pubblica, è necessario che sia in qualche modo protetta. B2C ci dà la possibilità di proteggerla tramite autenticazione basic o tramite certificato (più complesso ma da preferire).

A questo punto dobbiamo recarci in un flow e nella rispettiva sezione API Connectors. Qua ci viene chiesto, per ogni fase del flusso, quale endpoint chiamare.

A seconda della fase scelta, giunge alla nostra API un payload JSON diverso al quale rispondiamo con uno status code 200, nel caso di sola presa visione, oppure alterando alcuni dati. Sulla documentazione ufficiale Microsoft sono presenti esempi di JSON per la richiesta e per la risposta che indichiamo di seguito:
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-api-connector?pivots=b2c-user-flow
https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-api-connector-token-enrichment?pivots=b2c-user-flow
E' importante che le API da noi offerte rispondano correttamente, altrimenti il flusso dell'utente viene interrotto. Consigliamo quindi di usare strumenti come https://hookbin.com per catturare il payload in fase di test sostituendolo alle API reali che si dovranno chiamare, così da poter simulare in locale poi facilmente le chiamate con strumenti come Postman.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare e gestire sidecar container in Azure App Service
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Rendere le variabili read-only in una pipeline di Azure DevOps
Raggruppare risorse in .NET Aspire
Importare repository da Bitbucket a GitHub Enterprise Cloud
Utilizzare Container Queries nominali
Simulare Azure Cosmos DB in locale con Docker
Abilitare .NET 10 su Azure App Service e Azure Functions
Utilizzare DeepSeek R1 con Azure AI
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Arricchire l'interfaccia di .NET Aspire
Utilizzare Containers in .NET Aspire
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Le DirectInk API nella Universal Windows Platform
- Gli oggetti CallOut di Expression Blend 4.0
- Inserire le news di Punto Informatico nel proprio sito


