Personalizzare la creazione dell'utenze Azure B2C tramite API connector

di Cristian Civera, in API Management,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi