@azure/postgresql-auth package

Arabirimler

ConfigureEntraAuthenticationOptions

Sequelize ile Entra ID doğrulama yapılandırma seçenekleri.

EntraTokenProviderOptions

entraTokenProvider için seçenekler.

SequelizeBeforeConnectHook

Yaşam döngüsü beforeConnect kancasını destekleyen Sekelize benzeri bir örneği temsil eden yapısal bir tip. Bu, pakete sequelize sıkı bağımlılığı önlerken tip güvenliği sağlar.

İşlevler

configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)

Sequelize örneğini Entra ID authentication kullanacak şekilde yapılandırır.

Bu fonksiyon, Sequelize örneğinde her yeni veritabanı bağlantısından önce otomatik olarak bir Entra ID tokenı elde eden bir beforeConnect kancasını kaydeder. Hook, kullanıcı adını JWT token iddialarından (upn veya appid) çıkarır ve bağlantı yapılandırmasında hem kullanıcı hem de şifreyi ayarlar.

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();
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)

PostgreSQL şifresi olarak kullanılmaya uygun bir Entra ID erişim tokeni elde eden bir şifre sağlayıcı fonksiyonu oluşturur.

Bu fonksiyon, çağrıldığında PostgreSQL için Azure Veri Tabanı kapsamını kullanarak verilen <xref:TokenCredential> token'dan bir token talep eden bir geri çağrı geri döndürür. Geri dönüş geri dönüşü doğrudan password , pg.Clientpg.Pool, veya benzer PostgreSQL istemci yapılandırmaları için seçenek olarak iletilebilir.

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 },
});

İşlev Ayrıntıları

configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)

Sequelize örneğini Entra ID authentication kullanacak şekilde yapılandırır.

Bu fonksiyon, Sequelize örneğinde her yeni veritabanı bağlantısından önce otomatik olarak bir Entra ID tokenı elde eden bir beforeConnect kancasını kaydeder. Hook, kullanıcı adını JWT token iddialarından (upn veya appid) çıkarır ve bağlantı yapılandırmasında hem kullanıcı hem de şifreyi ayarlar.

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)

Parametreler

sequelizeInstance
SequelizeBeforeConnectHook

Sequelize örneğini yapılandırmak için. Yaşam döngüsü beforeConnect kancasını desteklemek zorunda.

credential
TokenCredential

Token elde etmek için kullanılan Azure <xref:TokenCredential> (örneğin, DefaultAzureCredential).

options
ConfigureEntraAuthenticationOptions

Kimlik doğrulama davranışı için isteğe bağlı yapılandırma.

entraTokenProvider(TokenCredential, EntraTokenProviderOptions)

PostgreSQL şifresi olarak kullanılmaya uygun bir Entra ID erişim tokeni elde eden bir şifre sağlayıcı fonksiyonu oluşturur.

Bu fonksiyon, çağrıldığında PostgreSQL için Azure Veri Tabanı kapsamını kullanarak verilen <xref:TokenCredential> token'dan bir token talep eden bir geri çağrı geri döndürür. Geri dönüş geri dönüşü doğrudan password , pg.Clientpg.Pool, veya benzer PostgreSQL istemci yapılandırmaları için seçenek olarak iletilebilir.

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>

Parametreler

credential
TokenCredential

Token elde etmek için kullanılan Azure <xref:TokenCredential> (örneğin, DefaultAzureCredential).

options
EntraTokenProviderOptions

Özel OAuth dürbünü gibi isteğe bağlı ayarlar.

Döndürülenler

() => Promise<string>

Çağrıldığında, erişim belirteçleri dizisine çözüm veren bir vaat veren bir fonksiyon.