@azure/postgresql-auth package
Gränssnitt
| ConfigureEntraAuthenticationOptions |
Alternativ för att konfigurera Entra ID-autentisering med Sequelize. |
| EntraTokenProviderOptions |
Alternativ för entraTokenProvider. |
| SequelizeBeforeConnectHook |
En strukturell typ som representerar en Sequelize-liknande instans som stödjer |
Funktioner
| configure |
Konfigurerar en Sequelize-instans att använda Entra ID-autentisering. Denna funktion registrerar en Example
|
| entra |
Skapar en lösenordsleverantörsfunktion som erhåller en Entra ID-åtkomsttoken lämplig för användning som PostgreSQL-lösenord. Denna funktion returnerar en callback som, när den anropas, begär en token från den tillhandahållna <xref:TokenCredential> med hjälp av Azure Database for PostgreSQL scope.
Den returnerade callbacken kan skickas direkt som Example
|
Funktionsinformation
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Konfigurerar en Sequelize-instans att använda Entra ID-autentisering.
Denna funktion registrerar en beforeConnect hook på Sequelize-instansen som automatiskt skaffar en Entra ID token före varje ny databasanslutning.
Hooken extraherar användarnamnet från JWT-tokenanspråken (upn eller appid) och sätter både användarnamn och lösenord i anslutningskonfigurationen.
Example
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();
function configureEntraAuthentication(sequelizeInstance: SequelizeBeforeConnectHook, credential: TokenCredential, options?: ConfigureEntraAuthenticationOptions)
Parametrar
- sequelizeInstance
- SequelizeBeforeConnectHook
Sequelize-instansen att konfigurera. Måste stödja beforeConnect livscykelkroken.
- credential
- TokenCredential
En Azure <xref:TokenCredential> används för att skaffa polletter (t.ex. DefaultAzureCredential).
Valfri konfiguration för autentiseringsbeteendet.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Skapar en lösenordsleverantörsfunktion som erhåller en Entra ID-åtkomsttoken lämplig för användning som PostgreSQL-lösenord.
Denna funktion returnerar en callback som, när den anropas, begär en token från den tillhandahållna <xref:TokenCredential> med hjälp av Azure Database for PostgreSQL scope.
Den returnerade callbacken kan skickas direkt som password alternativ för pg.Client, pg.Pool, eller liknande PostgreSQL-klientkonfigurationer.
Example
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 },
});
function entraTokenProvider(credential: TokenCredential, options?: EntraTokenProviderOptions): () => Promise<string>
Parametrar
- credential
- TokenCredential
En Azure <xref:TokenCredential> används för att skaffa polletter (t.ex. DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Valfria inställningar som ett anpassat OAuth-teleskop.
Returer
() => Promise<string>
En funktion som, när den anropas, returnerar ett löfte som löser sig till access-tokensträngen.