Egy háttérprojekt indításakor a két legnagyobb probléma általában a projekt megfelelő felépítése és a hitelesítés. Ha kihagyná a gondolkodást és a tervezést e kettővel kapcsolatban, sokkal egyszerűbb lehet egy új háttérprojekt indítása.

Ha még nem olvasta el a "GraphQL modulok hitelesítéséről és engedélyezéséről szóló blogbejegyzésünket", kérjük, olvassa el korábban!

Belsőleg a GraphQL-Modules és az AccountsJS segítségével segítünk meghozni ezt a két döntést, a GraphQL-Modules moduláris, séma-első megközelítésekben segít megoldani az architektúra problémáinkat a GraphQL erejével, az AccountsJS pedig a hitelesítési megoldásaink létrehozásában. azáltal, hogy egy egyszerű API-t biztosítunk a kliens- és kiszolgáló-könyvtárakkal együtt, ami sok alapmunkát takarít meg a hitelesítés körül.

Ha még nem hallott az AccountsJS-ről, akkor ez egy olyan könyvtárkészlet, amely teljes körű hitelesítési és fiókkezelési megoldásokat biztosít a Javascript számára.

Valóban testreszabható; így bármilyen bővítményt írhat saját hitelesítési módszereihez, vagy használhatja a már meglévő e-mail jelszót vagy a Facebook és Twitter OAuth integrációs csomagokat.

Az AccountsJS rendelkezik összekötő könyvtárakkal a MongoDB és a Redis számára, de egy egyszerű felület megvalósításával saját adatbáziskezelőt is írhat.

Az Accounts JS egy használatra kész GraphQL API-t biztosít, ha telepíti a GraphQL könyvtárukat, és örömmel jelentjük be, hogy a GraphQL könyvtárat most már belsőleg a GraphQL-modulok használatával építették!

Nem érinti azokat az embereket, akik nem használnak GraphQL modulokat, de segíti az AccountsJS karbantartóit, és leegyszerűsíti a GraphQL-Modules alapú projektek integrációját.

Szerveroldali megvalósítás az AccountsJS, a GraphQL-modulok és az Apollo-Server használatával

Először telepítse a szükséges függőségeket az npm-ről vagy a fonalról;

yarn add mongodb @accounts/server @accounts/password @accounts/database-manager @accounts/mongo @accounts/graphql-api @graphql-modules/core apollo-server graphql-import-node

Tegyük fel, hogy a MongoDB-t használjuk adatbázisként, jelszó alapú hitelesítésként és ApolloServerként;

Kibővíthetjük a Felhasználó típusát egyéni mezőkkel a sémánkban, és hozzáadhatunk egy mutációt, amely a hitelesített ügyfelekre korlátozódik.

Végül határozzunk meg néhány feloldót;

Amikor kinyomtatja az alkalmazás teljes sémáját, valami a fentihez hasonlót fog látni;

Az ügyféloldali megvalósítás az AccountsJS, a React és az Apollo-Client használatával

Most már létrehozhatunk egy egyszerű frontend alkalmazást az Apollo-Client és az AccountsJS kliens használatával ehhez a háttéralkalmazáshoz. Az alábbi példa néhány példakódot mutat be, amely ezen a kettőn működik.

Amint a példából látható, nagyon egyszerű lehet olyan alkalmazást létrehozni, amely moduláris és jövőbiztos megközelítéssel rendelkezik hitelesítéssel.

Az AccountsJS-ről többet tudhat meg ennek a nagyszerű könyvtárnak a "dokumentumaiból", ahol további funkciók érhetők el, mint például a kéttényezős hitelesítés, valamint az OAuth használatával történő Facebook és Twitter integráció.

A "webhelyen" többet is megtudhat a GraphQL-modulokról, és megtudhatja, hogyan adhat hozzá GraphQL modulokat fokozatosan és szelektív módon a rendszeréhez.

Ha szigorú típusokat szeretne a GraphQL sémán, minden modulhoz a GraphQL Code Generator beépített támogatással rendelkezik a GraphQL-modul alapú projektekhez. "Tekintse meg a dokumentumokat"további részletekért.

Tekintse meg példánkat az integrációról;
https://github.com/ardatan/graphql-modules-accountsjs-boilerplate

Minden bejegyzés a GraphQL modulokról

  1. GraphQL-modulok – Szolgáltatásalapú GraphQL-modulok méretben
  2. „Miért olyan fontos a valódi moduláris beágyazás a nagyszabású GraphQL projektekben?
  3. "Miért vezettük be saját Dependency Injection könyvtárunkat a GraphQL-modulokhoz?"
  4. „Hatáskörrel rendelkező szolgáltatók a GraphQL-modulok függőségi befecskendezésében”
  5. "GraphQL TypeScript projekt írása GraphQL-modulokkal és GraphQL-kódgenerátorral"
  6. "Hitelesítés és engedélyezés a GraphQL-ben (és hogyan segíthetnek a GraphQL-modulok)"
  7. "Hitelesítés AccountsJS és GraphQL modulokkal"
  8. „A körkörös import pokol kezelése GraphQL-modulokkal”

Kövessen minket a GitHubon és a «Mediumon, a következő néhány hétben további bejegyzéseket tervezünk közzétenni arról, hogy mit tanultunk a GraphQL az elmúlt években.