A Cognito integrálása a közösségi bejelentkezéssel

( Ryan Bui) (2020. december 16.)

készítette: Ryan Bui, a Javascript fejlesztője

Ha manuálisan szeretné integrálni a közösségi bejelentkezést a Cognito segítségével az alkalmazásához, akkor jó helyre jöttem! Nem tudtam integrálni a közösségi bejelentkezést azzal, amit a Cognito kínál. Ez azért volt, mert a kezelőfelület nem tudott könnyen integrálódni az Amplify vagy a Cognito felhasználói készletekkel a Flutter használata miatt. A Flutter jelenleg még túl fiatal ahhoz, hogy integrálódhasson ezekkel a szolgáltatásokkal.

Nem is akartam létrehozni egy identitáskészletet, hogy ideiglenes AWS-hitelesítő adatokat adjak a kezelőfelületnek. A probléma megoldásához engedélyeztünk egy / auth végpontot, amely programozottan regisztrál / bejelentkezik a Cognito programba. A felhasználók viszont hitelesítési tokeneket kapnak.

A felhasználóknak el kell küldenie saját közösségi tokenjeit a Google-tól, a Facebook-tól vagy az Apple-től. Ezeknek a tokeneknek az ellenőrzése a háttérből történik.

Regisztráció

A „CognitoIdentityServiceProvider” könyvtár használatára van szükségünk és adja meg a szükséges hitelesítő adatokat és azokat az attribútumokat, amelyeket hozzá szeretnénk rendelni a felhasználóhoz (e-mail, név stb.). Ezeket az attribútumokat meg kell adni a készlet létrehozásakor (az alábbi példa).

Cserébe szükségünk van a most létrehozott felhasználói azonosítóra.

Bejelentkezés

Bejelentkezéskor meg kell adnunk a felhasználónevet és a jelszót. Ha szeretné, akkor csak az e-mail segítségével jelentkezhet be. ha sikeres, szükségünk van az idToken-re, amelyet később használunk, amikor engedélyezzük a felhasználói hívásainkat az API-ra.

A bejövő kérelmek engedélyezése

A jogosítók konfigurálásának két módja van. Ha manuálisan csináljuk, meg kell nyitnunk az AWS konzolt, és fel kell mennünk az API Gateway szolgáltatásra, és létre kell hoznunk egy engedélyezőt az API-nkban.

Következő lépésként adjon nevet az engedélyezőnek, és válassza ki a kívánt Cognito felhasználói készletet. Válasszon egy módszert, ahol engedélyezőt szeretne használni, majd kattintson a “Módszer kérése” elemre a módszer és az engedélyező összekapcsolásához.

Először válassza ki az engedélyezőt az engedélyezéskor. Az OAuth hatóköröknél válassza a „NINCS” lehetőséget az ID-tokenek elvárásához. Ha hatókörökkel rendelkező hozzáférési tokent szeretne használni, akkor kövesse az AWS dokumentációját .

Tehát ennyit kell tennie a kézi használat érdekében konfiguráció! Ha szerver nélkül akarja automatizálni, a következőképpen teheti meg:

Itt csak meg kell adnia a felhasználói készlet ARN-jét. Nem akarjuk a tokenek gyorsítótárát tárolni, ezért használjuk a resultTtlInSeconds: 0 parancsot. Identitásforrásként írja be az engedélyezési fejléc elérési útját.

Most ennek az API-nak a fogyasztójának csak át kell adnia a Cognito ID tokent az engedélyezési fejlécben.

Gyors összefoglalás…

A Cognito nem integrálódik jól a Flutterrel. A regisztrációhoz és bejelentkezéshez az AWS SDK-t használtuk. Ezzel előállíthatunk tokeneket, amelyeket visszaadunk az ügyfélnek. Ezeket a tokeneket használják az API-átjáró engedélyezőivel szembeni érvényesítésre.

Külön köszönet a cikk társszerzőjének. Nézze meg a következő oktatóanyagokat:
(Az AWS konfigurálása) az 53-as úton & (S3 statikus webhely proxybe állítása)

Ryan Javascript-fejlesztő, aki szorosan együttműködött a TDD-vel és a BDD-vel. Szívesen játszik videojátékokat és gitározik.

TribalScale egy globális innovációs cég, amely segíti a vállalkozásokat alkalmazkodni és boldogulni a digitális korszakban. Átalakítjuk a csapatokat és a folyamatokat, a kategóriájában a legjobb digitális termékeket építjük fel, és zavaró startupokat hozunk létre. További információ rólunk a webhelyen . Lépjen kapcsolatba velünk a Twitter , LinkedIn & Facebook !

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük