Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a csomag Azure Entra ID (korábban Azure Active Directory) hitelesítést biztosít PostgreSQL kapcsolatokhoz JavaScriptben. Támogatja mind node-postgres (pg) és Sequelize klienseket.
Főbb hivatkozások:
Kezdő lépések
Jelenleg támogatott környezetek
További részletekért tekintse meg támogatási szabályzatunkat.
Prerequisites
- Egy Azure-előfizetés.
- Egy Azure Database for PostgreSQL szerver, amelyet Entra ID hitelesítésre konfiguráltak.
Telepítse a(z) @azure/postgresql-auth csomagot
Telepítse a Azure PostgreSQL hitelesítési klienskönyvtárát JavaScripthez npm segítségével:
npm install @azure/postgresql-auth
@azure/identity Emellett telepítened kell a hitelesítési támogatást és a preferált PostgreSQL kliensed érdekében is:
npm install @azure/identity pg
# or
npm install @azure/identity sequelize pg
főbb fogalmak
Ez a könyvtár két funkciót biztosít az Entra ID hitelesítés és a PostgreSQL integrációjához:
-
entraTokenProvider— Egy jelszószolgáltató funkciót ad vissza, amely egy Entra ID hozzáférési tokent szerzett, amely alkalmas PostgreSQL jelszóként való használatra. Használd ezt vagypg.Client-velpg.Pool. -
configureEntraAuthentication— Regisztrál egybeforeConnecthookot egy Sequelize példányon, amely automatikusan új tokent szerz, és minden új kapcsolat előtt beállítja a felhasználónevet/jelszót. -
GetEntraTokenPasswordOptions— Opcionálisan felülírhatja az alapértelmezett OAuth hatókört (scope property), amelyet az entraTokenProvider-nek adtak. -
SequelizeBeforeConnectHook— Strukturális interfész a configureEntraAuthentication által elfogadott; lehetővé teszi, hogy bármilyen Sequelize-kompatibilis objektumot használj anélkül, hogy kemény sequelize függőséget adna hozzá.
Mindkét függvény elfogad egy Azure TokenCredential-t (@azure/identity-ből), és kezeli a token gyűjtést a Azure Database for PostgreSQL scope-ra szemben.
Példák
Használat node-postgres (pg)
import { DefaultAzureCredential } from "@azure/identity";
const { entraTokenProvider } = await import("@azure/postgresql-auth");
const pg = await import("pg");
const credential = new DefaultAzureCredential();
const pool = new pg.Pool({
host: process.env.PGHOST,
port: Number(process.env.PGPORT || 5432),
database: process.env.PGDATABASE,
user: process.env.PGUSER,
password: entraTokenProvider(credential),
ssl: { rejectUnauthorized: true },
});
Használat Sequelize segítségével
import { DefaultAzureCredential } from "@azure/identity";
const { configureEntraAuthentication } = await import("@azure/postgresql-auth");
const { Sequelize } = await import("sequelize");
const sequelize = new Sequelize({
dialect: "postgres",
host: process.env.PGHOST,
port: Number(process.env.PGPORT || 5432),
database: process.env.PGDATABASE,
});
const credential = new DefaultAzureCredential();
configureEntraAuthentication(sequelize, credential);
await sequelize.authenticate();
Troubleshooting
Logging
A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a környezeti változót a AZURE_LOG_LEVEL következőre info: . Alternatívaként a naplózás futásidőben is engedélyezhető a setLogLevel hívásával a @azure/logger.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
A naplók engedélyezésére vonatkozó részletesebb útmutatásért tekintse meg a @azure/logger csomag dokumentációit.
Következő lépések
A kódtár használatára vonatkozó részletes példákért tekintse meg a mintakönyvtárat.
Contributing
Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód összeállításáról és teszteléséről.
Azure SDK for JavaScript