@azure/postgresql-auth package
Schnittstellen
| ConfigureEntraAuthenticationOptions |
Optionen zur Konfiguration der Entra ID-Authentifizierung mit Sequelize. |
| EntraTokenProviderOptions |
Optionen für entraTokenProvider. |
| SequelizeBeforeConnectHook |
Ein struktureller Typ, der eine Sequelize-ähnliche Instanz darstellt und den |
Functions
| configure |
Konfiguriert eine Sequelize-Instanz so, dass sie Entra ID-Authentifizierung verwendet. Diese Funktion registriert einen Example
|
| entra |
Erstellt eine Passwortanbieterfunktion, die ein Entra ID-Zugriffstoken erschafft, das als PostgreSQL-Passwort verwendet werden kann. Diese Funktion gibt einen Callback zurück, der, wenn er aufgerufen wird, ein Token vom bereitgestellten <xref:TokenCredential> über den Azure Database for PostgreSQL Scope anfordert.
Der zurückgegebene Rückruf kann direkt als Example
|
Details zur Funktion
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Konfiguriert eine Sequelize-Instanz so, dass sie Entra ID-Authentifizierung verwendet.
Diese Funktion registriert einen beforeConnect Hook auf der Sequelize-Instanz, der automatisch vor jeder neuen Datenbankverbindung ein Entra ID-Token erwirbt.
Der Hook extrahiert den Benutzernamen aus den JWT-Token-Claims (upn oder appid) und legt sowohl Benutzername als auch Passwort in der Verbindungskonfiguration fest.
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)
Parameter
- sequelizeInstance
- SequelizeBeforeConnectHook
Die Sequelize-Instanz zur Konfiguration. Muss den Lebenszyklus-Hook beforeConnect unterstützen.
- credential
- TokenCredential
Ein Azure <xref:TokenCredential> verwendet, um Token zu erwerben (z. B. DefaultAzureCredential).
Optionale Konfiguration für das Authentifizierungsverhalten.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Erstellt eine Passwortanbieterfunktion, die ein Entra ID-Zugriffstoken erschafft, das als PostgreSQL-Passwort verwendet werden kann.
Diese Funktion gibt einen Callback zurück, der, wenn er aufgerufen wird, ein Token vom bereitgestellten <xref:TokenCredential> über den Azure Database for PostgreSQL Scope anfordert.
Der zurückgegebene Rückruf kann direkt als password Option für pg.Client, pg.Pool, oder ähnliche PostgreSQL-Client-Konfigurationen weitergegeben werden.
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>
Parameter
- credential
- TokenCredential
Ein Azure <xref:TokenCredential> verwendet, um Token zu erwerben (z. B. DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Optionale Einstellungen wie ein benutzerdefinierter OAuth-Scope.
Gibt zurück
() => Promise<string>
Eine Funktion, die, wenn sie aufgerufen wird, ein Versprechen zurückgibt, das auf den Zugriffstoken-String aufgelöst wird.