NodeJS

Hogyan engedélyezhetem a felhasználókat a Google OAuth használatával a Node-ban.js

Hogyan engedélyezhetem a felhasználókat a Google OAuth használatával a Node-ban.js

Az Open Authorization, más néven OAuth, egy protokoll, amelyet egy webhelyen lévő felhasználó engedélyezésére használnak harmadik féltől származó szolgáltatásokkal, például a Google, a Github, a Facebook stb. A harmadik fél szolgáltatása megoszt bizonyos adatokat (név, e-mail cím, profilkép stb.).) az Ön webhelyével, majd a felhasználó nevében engedélyezi a felhasználót anélkül, hogy kezelné a webhely jelszavát és felhasználónevét, és sok további problémát takarít meg a felhasználóknak.

Hogyan működik az OAuth

Amikor a felhasználó a „Bejelentkezés a Google-val” gombra kattint, a felhasználó a Google OAuth hozzájárulási oldalára kerül. Amikor a felhasználó elfogadja a beleegyezést és hitelesíti személyazonosságát a Google-on, a Google felveszi a kapcsolatot az Ön weboldalával, mint harmadik fél szolgáltatásával, és felhatalmazza a felhasználót a nevében, és megoszt bizonyos adatokat az Ön webhelyével. Ily módon a felhasználó engedélyezhető anélkül, hogy külön kezelné a webhely hitelesítő adatait.

A Google OAuth megvalósítása a Node használatával.js

Szinte az összes programozási nyelv különböző könyvtárakat kínál a google oauth megvalósításához a felhasználók engedélyezéséhez. Csomópont.js 'passport' és 'passport-google-oauth20' könyvtárakat biztosít a google oauth megvalósításához. Ebben a cikkben megvalósítunk egy oauth protokollt, amely felhatalmazza a felhasználókat a csomópont használatára.js.

Hozzon létre egy projektet a Google-on

A Google OAuth bevezetésének első lépése egy projekt létrehozása a webhely fejlesztői konzolján. Ezt a projektet arra használják, hogy az API kulcsokat felhasználják nyílt hitelesítés iránti kérelmek benyújtására a Google számára. Nyissa meg a következő linket, és hozza létre a projektjét.

https: // konzol.fejlesztők.Google.com

A Google Project konfigurálása

A projekt létrehozása után lépjen be a projektbe, és válassza a bal oldali menüből az „OAuth beleegyezés képernyőjét”.

Kattintson a "létrehozás" gombra, és adja meg a projekt minden részletét. Kattintson a „Mentés és folytatás” gombra a továbblépéshez.

Most adja meg a projekt terjedelmét. A hatókörök azok a jogosultságok, amelyek lehetővé teszik a felhasználó adatainak elérését egy Google-fiókból. Be kell állítania az engedélyeket, hogy konkrét felhasználói adatokat kapjon a Google-fiókjából. Kattintson a „Mentés és folytatás” gombra.”

Ha akarja, adja hozzá a tesztfelhasználókat a projekthez. A tesztfelhasználók az egyetlen engedélyezett felhasználók, akik Teszt módban férhetnek hozzá az Ön webalkalmazásához. Egyelőre nem írunk be egyetlen tesztelő felhasználót sem, és a „Mentés és folytatás” gombra kattintva léphetünk a projekt összefoglaló oldalára.

Tekintse át a projektet az összefoglaló oldalon, és mentse a konfigurációt. Most generálunk hitelesítő adatokat a projektünkhöz. Válassza ki a 'Hitelesítő adatok' fület a bal oldali menüben, majd kattintson az "A hitelesítő adatok létrehozása" gombra a tetején az OAuth 2 előállításához.0 ügyfél-azonosító.

A legördülő menüből válassza az „OAuth ügyfél-azonosító” lehetőséget, és adja meg az alkalmazás típusát „Webalkalmazás” néven, valamint az alkalmazás nevét.

Ugyanazon az oldalon két URI-t kell megadnunk, az „Engedélyezett Javascript eredeteket” és az „Engedélyezett átirányítási URI-kat”. Az "Engedélyezett javascript eredetek" az Ön webalkalmazásának HTTP-eredete, és nem tartalmazhat útvonalat. Az „Engedélyezett átirányítási URI-k” az a pontos URI, amelynek elérési útja a felhasználót átirányítja a google hitelesítés után.

Miután megadta az összes szükséges bejegyzést, kattintson a "létrehozás" gombra az OAuth hitelesítő adatok létrehozásához.

Kezdő csomópont.js Projekt

Eddig hoztunk létre egy google projektet, hogy engedélyezzük a felhasználókat a google használatával az alkalmazásunkhoz. Most a csomópontot fogjuk kezdeményezni.js projekt az oauth megvalósítására. Hozzon létre egy 'auth' nevű könyvtárat, és indítsa el az expressz projektet.

[e-mail védett]: ~ $ mkdir hitelesítés
[e-mail védett]: ~ $ cd hitelesítés
[e-mail védett]: ~ $ npm init -y

A szükséges npm csomagok telepítése

A Google OAuth megvalósítása csomópont használatával.js, telepítenünk kell néhány npm csomagot. A „passport”, „express”, „path” és „passport-google-oauth20” kifejezéseket fogjuk használni. Telepítse ezeket a csomagokat az npm használatával.

[email protected]: ~ $ npm install express passport passport-google-oauth20 elérési út

Csomópont írása.js kód

Először két egyszerű html weboldalt írunk, az egyiket egy gombbal, és felhatalmazzuk a felhasználót, amikor rákattint a gombra. A második oldal jogosult lesz, és a felhasználót az engedélyezés után átirányítják az engedélyezett oldalra. Hozzon létre egy fájlt 'public / index.html '.



OAuth


Engedélyezzen itt

Most hozzon létre egy fájlt 'public / success.html 'a következő tartalommal.



OAuth


Felhatalmazott



Weboldalak létrehozása után most kódot írunk, amely felhatalmazza a felhasználókat a google oauth használatára. Hozzon létre egy fájl indexet.js '.

// a szükséges csomagok importálása
const express = igényel ('express');
const útlevél = megköveteli ('útlevél');
const elérési út = igény ('út');
const GoogleStrategy = igény ('passport-google-oauth20').Stratégia;
const app = express ();
// paraméterek meghatározása
// az ügyfél azonosítója az a paraméter, amelyet a google fejlesztői konzolból kapunk
ÜGYFEL_ID = ”xxxxxxx”;
// az ügyféltitkot a google fejlesztői konzolból is átvesszük
CLIENT_SECRET = ”xxxxx”;
// a felhasználót engedélyezés után átirányítjuk a CALLBACK_URL címre
CALLBACK_URL = ”http: // localhost: 8000 / engedéllyel”;
// a portszámnak meg kell egyeznie a fejlesztői konzolban megadottal
PORT = 8000;
// útlevél köztes szoftver beállítása
kb.használat (útlevél.inicializálni ());
kb.használat (útlevél.ülés());
útlevél.serializeUser (function (id, kész)
kész (null, id);
);
útlevél.deserializeUser (function (id, kész)
kész (null, id);
);
// a következő köztes szoftver futni fog, ha útlevél. A hitelesítési módszer meghívásra kerül, és a hatókörben meghatározott különböző paramétereket ad vissza.
útlevél.use (új GoogleStrategy (
kliensID: CLIENT_ID,
clientSecret: CLIENT_SECRET,
callbackURL: CALLBACK_URL
,
async függvény (accessToken, refreshToken, profil, e-mail, cb)
return cb (null, email.id);

));
// az alkalmazás honlapjának kiszolgálása
kb.get ('/', (req, res) =>

res.sendFile (elérési út.csatlakozás (__ dirname + '/ public / index.html '));
);
// az alkalmazás sikeroldalának kiszolgálása
kb.get ('/ siker', (req, res) =>

res.sendFile (elérési út.csatlakozás (__ dirname + '/ public / siker.html '));
);
// a felhasználót átirányítjuk a google auth oldalra, amikor a '/ google / auth' útvonalra kerül.
kb.get ('/ google / auth',
útlevél.hitelesítés ('google', hatókör: ['profil', 'e-mail'])
);
// a hitelesítési hiba átirányítását a következő útvonal határozza meg
kb.get ('/ engedélyezett',
útlevél.hitelesítés ('google', FailRedirect: '/'),
(req, res) =>

res.átirányítás ('/ siker');

);
// futó szerver
kb.hallgatni (PORT, () =>

konzol.napló („A kiszolgáló a porton fut” + PORT)
)

A Google OAuth tesztelése

Most készen áll az alkalmazásunk, és tesztelhetjük, hogy engedélyezi-e a felhasználókat a google oauth használatával. Menjen a gyökérkönyvtárba, és futtassa az alkalmazást.

[e-mail védett]: ~ $ csomópont index.js

Most írja be az alkalmazás URL-jét a böngészőbe.

http: // localhost: 8000

Megjeleníti a kezdőlapot egy horgonycímkével.

Amikor rákattintunk az "Engedélyezés itt" gombra, az átirányít a google oauth oldalra.

Az alkalmazás neve „Teszt” megjelenik a Google hitelesítési oldalán. Amikor engedélyezi a fiókját, az a felhatalmazott oldalra visz.

Következtetés

A különféle webalkalmazások felhasználóneveinek és jelszavainak kezelése nem elégedett feladat a felhasználók számára. Sok felhasználó elhagyja az internetes alkalmazást anélkül, hogy regisztrálná a fiókját, csak azért, mert nem akarja kezelni a hitelesítő adatokat. Az Ön webalkalmazásán vagy webhelyén az engedélyezési folyamat egyszerűsíthető harmadik fél által nyújtott szolgáltatások, például a Google, a Facebook stb. Használatával. Ezek a szolgáltatások a nevükben engedélyezik a felhasználókat, és a felhasználónak nem kell külön kezelnie a hitelesítő adatokat. Ebben a cikkben a google oauth protokollt valósítottuk meg, hogy felhatalmazzuk a felhasználókat a Node használatára.js.

5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...
A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...