Cum se integrează Cognito cu conectare socială

( Ryan Bui) (16 decembrie 2020)

de Ryan Bui, dezvoltator Javascript

Dacă doriți să integrați manual conectarea socială utilizând Cognito pentru aplicația dvs., Am venit la locul potrivit! Nu am putut integra conectarea socială cu ceea ce oferă Cognito. Acest lucru s-a datorat faptului că front-end-ul nu s-a putut integra cu ușurință în grupurile de utilizatori Amplify sau Cognito datorită utilizării lor de Flutter. Flutter este în prezent prea tânăr pentru a se integra cu aceste servicii.

De asemenea, nu am vrut să creez un pool de identități pentru a acorda acreditări AWS temporare la front-end. Pentru a rezolva această problemă, am activat un punct final / auth care se va înscrie / conecta la Cognito programat. La rândul său, utilizatorii vor primi jetoane de autentificare.

Utilizatorii trebuie să trimită propriile jetoane sociale de la Google, Facebook sau Apple. Validarea acestor jetoane se va face din back-end.

Înscriere

Ceea ce avem nevoie este să folosim biblioteca „CognitoIdentityServiceProvider” și furnizați acreditările necesare și atributele pe care dorim să le atribuim utilizatorului (e-mail, nume etc.). Aceste atribute trebuie să fie necesare la crearea pool-ului (exemplu mai jos).

În schimb, avem nevoie de ID-ul pe care tocmai l-am creat.

Autentificare

La conectare, trebuie să furnizăm numele de utilizator și parola. Dacă doriți, vă puteți conecta folosind numai e-mailul. când reușim, avem nevoie de idToken care va fi utilizat ulterior la autorizarea apelurilor utilizatorilor către API-ul nostru.

Autorizarea solicitărilor primite

Există două moduri de configurare a autorizatorilor. Dacă o facem manual, trebuie să deschidem consola AWS și să ne îndreptăm către serviciul API Gateway și să creăm un autorizator în API-ul nostru.

Pasul următor, dați un nume autorizatorului și selectați grupul de utilizatori Cognito dorit. Selectați o metodă în care doriți să utilizați un autorizator și faceți clic pe „Solicitare metodă” pentru a lega această metodă de autorizator.

Mai întâi, în autorizare, selectați autorizatorul. Pentru domeniile OAuth, selectați „NICIUL” pentru a vă aștepta la jetoane de identificare. Dacă doriți să utilizați jetoane de acces cu scopuri, puteți urma documentația din AWS .

Deci, asta este tot ce trebuie să faceți pentru manual configurare! Dacă doriți să îl automatizați fără server, iată cum puteți face acest lucru:

Aici doar trebuie să furnizați ARN-ul grupului de utilizatori. Nu vrem să memorăm în cache jetoanele, motiv pentru care folosim resultTtlInSeconds: 0 . Ca sursă de identitate, puneți calea către antetul de autorizare.

Acum, consumatorul acestei API trebuie doar să treacă token-ul Cognito ID în antetul de autorizare.

O recapitulare rapidă …

Cognito nu se integrează bine cu Flutter. Am folosit AWS SDK pentru a vă înscrie și a vă conecta. Procedând astfel, putem genera jetoane pe care le vom transmite clientului. Aceste jetoane sunt utilizate pentru validarea împotriva autorizatorilor din gateway-ul API.

Mulțumiri speciale pentru co-autor al acestui articol. Consultați tutorialele sale pe:
(Cum se configurează AWS) pe Traseul 53 & (Cum să proxy un site web S3 static)

Ryan este un dezvoltator Javascript care a lucrat îndeaproape cu TDD și BDD. Îi place să joace jocuri video și chitară.

TribalScale este o firmă globală de inovare care ajută întreprinderile adaptați-vă și prosperați în era digitală. Transformăm echipe și procese, construim cele mai bune produse digitale din clasă și creăm startup-uri perturbatoare. Aflați mai multe despre noi pe site-ul nostru . Conectați-vă cu noi pe Twitter , LinkedIn & Facebook !

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *