Come integrare Cognito con laccesso social

( Ryan Bui) (16 dicembre 2020)

di Ryan Bui, sviluppatore Javascript

Se desideri integrare manualmente laccesso social utilizzando Cognito per la tua app, ” sei nel posto giusto! Non sono riuscito a integrare laccesso social con ciò che offre Cognito. Questo perché il front-end non poteva integrarsi facilmente con i pool di utenti di Amplify o Cognito a causa del loro utilizzo di Flutter. Flutter è attualmente troppo giovane per integrarsi con questi servizi.

Inoltre, non volevo creare un pool di identità per concedere credenziali AWS temporanee al front-end. Per risolvere questo problema, abbiamo abilitato un endpoint / auth che si registrerà / accederà a Cognito a livello di programmazione. Gli utenti riceveranno a loro volta i token di autenticazione.

Gli utenti devono inviare i propri token sociali da Google, Facebook o Apple. La convalida di questi token verrà eseguita dal back-end.

Registrazione

Ciò di cui abbiamo bisogno è utilizzare la libreria “CognitoIdentityServiceProvider” e fornire le credenziali necessarie e gli attributi che vogliamo assegnare allutente (email, nome, ecc.). Questi attributi devono essere obbligatori quando viene creato il pool (esempio sotto).

In cambio, abbiamo bisogno dellID utente appena creato.

Accesso

Al momento del login, dobbiamo fornire il nome utente e la password. Se lo desideri, puoi accedere utilizzando solo lemail. in caso di successo, abbiamo bisogno dellidToken che verrà utilizzato in seguito quando si autorizzano le chiamate degli utenti alla nostra API.

Autorizzazione delle richieste in arrivo

Esistono due modi per configurare gli autorizzatori. Se lo facciamo manualmente, dobbiamo aprire la console AWS e andare al servizio API Gateway e creare un autorizzatore nella nostra API.

Passaggio successivo, assegnare un nome allautorizzatore e selezionare il pool di utenti Cognito desiderato. Seleziona un metodo in cui desideri utilizzare un autorizzatore e fai clic su “Richiesta metodo” per collegare questo metodo allautorizzatore.

Per prima cosa, in autorizzazione, seleziona lautorizzazione. Per gli ambiti OAuth, selezionare “NONE” per aspettarsi token ID. Se desideri utilizzare i token di accesso con gli ambiti, puoi seguire la documentazione in AWS .

Quindi è tutto ciò che devi fare per il manuale configurazione! Se vuoi automatizzarlo con serverless, ecco come puoi farlo:

Qui ci limitiamo è necessario fornire lARN del pool di utenti. Non vogliamo memorizzare i token nella cache, motivo per cui utilizziamo resultTtlInSeconds: 0 . Come origine dellidentità, inserisci il percorso nellintestazione dellautorizzazione.

Ora il consumatore di questa API deve solo passare il token ID Cognito nellintestazione dellautorizzazione.

Un breve riepilogo …

Cognito non si integra bene con Flutter. Abbiamo utilizzato lSDK AWS per registrarci e accedere. In questo modo possiamo generare token che restituiremo al client. Questi token vengono utilizzati per la convalida rispetto agli autori delle autorizzazioni nel gateway API.

Un ringraziamento speciale a per la collaborazione con questo articolo. Guarda i suoi tutorial su:
(Come configurare AWS) su Route 53 & (Come eseguire il proxy di un sito web statico S3)

Ryan è uno sviluppatore Javascript che ha lavorato a stretto contatto con TDD e BDD. Gli piace giocare ai videogiochi e alla chitarra.

TribalScale è unazienda di innovazione globale che aiuta le imprese adattarsi e prosperare nellera digitale. Trasformiamo team e processi, costruiamo i migliori prodotti digitali e creiamo startup dirompenti. Ulteriori informazioni su di noi sul nostro sito web . Connettiti con noi su Twitter , LinkedIn & Facebook !

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *