@azure/postgresql-auth package
Interfaces
| ConfigureEntraAuthenticationOptions |
Options pour configurer l’authentification Entra ID avec Sequelize. |
| EntraTokenProviderOptions |
Options pour entraTokenProvider. |
| SequelizeBeforeConnectHook |
Un type structurel représentant une instance de type Sequelize qui supporte le |
Functions
| configure |
Configure une instance Sequelize pour utiliser l’authentification Entra ID. Cette fonction enregistre un hook Example
|
| entra |
Crée une fonction de fournisseur de mots de passe qui acquiert un jeton d’accès Entra ID adapté à un mot de passe PostgreSQL. Cette fonction renvoie un rappel qui, lorsqu’il est invoqué, demande un jeton au <xref:TokenCredential> fourni en utilisant le scope Azure Database pour PostgreSQL.
Le rappel retourné peut être transmis directement comme option Example
|
Informations relatives à la fonction
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Configure une instance Sequelize pour utiliser l’authentification Entra ID.
Cette fonction enregistre un hook beforeConnect sur l’instance Sequelize qui acquiert automatiquement un jeton Entra ID avant chaque nouvelle connexion à la base de données.
Le hook extrait le nom d’utilisateur des revendications du token JWT (upn ou appid) et définit à la fois le nom d’utilisateur et le mot de passe sur la configuration de connexion.
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)
Paramètres
- sequelizeInstance
- SequelizeBeforeConnectHook
L’instance Sequelize pour configurer. Il faut soutenir le beforeConnect crochet du cycle de vie.
- credential
- TokenCredential
Un Azure <xref:TokenCredential> utilisé pour acquérir des jetons (par exemple, DefaultAzureCredential).
Configuration optionnelle pour le comportement d’authentification.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Crée une fonction de fournisseur de mots de passe qui acquiert un jeton d’accès Entra ID adapté à un mot de passe PostgreSQL.
Cette fonction renvoie un rappel qui, lorsqu’il est invoqué, demande un jeton au <xref:TokenCredential> fourni en utilisant le scope Azure Database pour PostgreSQL.
Le rappel retourné peut être transmis directement comme option password pour pg.Client, pg.Pool, ou des configurations clients PostgreSQL similaires.
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>
Paramètres
- credential
- TokenCredential
Un Azure <xref:TokenCredential> utilisé pour acquérir des jetons (par exemple, DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Des réglages optionnels comme une lunette OAuth personnalisée.
Retours
() => Promise<string>
Une fonction qui, lorsqu’elle est appelée, renvoie une promesse résolvant la chaîne de jeton d’accès.