@azure/postgresql-auth package
Antarmuka
| ConfigureEntraAuthenticationOptions |
Opsi untuk mengonfigurasi otentikasi Entra ID dengan Sequelize. |
| EntraTokenProviderOptions |
Opsi untuk entraTokenProvider. |
| SequelizeBeforeConnectHook |
Jenis struktural yang mewakili instance seperti Sequelize yang mendukung |
Fungsi
| configure |
Mengonfigurasi instance Sequelize untuk menggunakan autentikasi Entra ID. Fungsi ini mendaftarkan hook Example
|
| entra |
Membuat fungsi penyedia kata sandi yang memperoleh token akses Entra ID yang cocok untuk digunakan sebagai kata sandi PostgreSQL. Fungsi ini mengembalikan panggilan balik yang, ketika dipanggil, meminta token dari <xref:TokenCredential> yang disediakan menggunakan cakupan Azure Database for PostgreSQL.
Callback yang dikembalikan dapat diteruskan secara langsung sebagai Example
|
Detail Fungsi
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Mengonfigurasi instance Sequelize untuk menggunakan autentikasi Entra ID.
Fungsi ini mendaftarkan hook beforeConnect pada instance Sequelize yang secara otomatis memperoleh token Entra ID sebelum setiap koneksi database baru.
Hook mengekstrak nama pengguna dari klaim token JWT (upn atau appid) dan mengatur nama pengguna dan kata sandi pada konfigurasi koneksi.
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
Instans Sequelize untuk dikonfigurasi. Harus mendukung beforeConnect kait siklus hidup.
- credential
- TokenCredential
Azure <xref:TokenCredential> digunakan untuk memperoleh token (misalnya, DefaultAzureCredential).
Konfigurasi opsional untuk perilaku autentikasi.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Membuat fungsi penyedia kata sandi yang memperoleh token akses Entra ID yang cocok untuk digunakan sebagai kata sandi PostgreSQL.
Fungsi ini mengembalikan panggilan balik yang, ketika dipanggil, meminta token dari <xref:TokenCredential> yang disediakan menggunakan cakupan Azure Database for PostgreSQL.
Callback yang dikembalikan dapat diteruskan secara langsung sebagai password opsi untuk pg.Client, pg.Pool, atau konfigurasi klien PostgreSQL serupa.
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
Azure <xref:TokenCredential> digunakan untuk memperoleh token (misalnya, DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Pengaturan opsional seperti cakupan OAuth kustom.
Mengembalikan
() => Promise<string>
Fungsi yang, ketika dipanggil, mengembalikan promise yang diselesaikan ke string token akses.