@azure/postgresql-auth package
Интерфейсы
| ConfigureEntraAuthenticationOptions |
Варианты настройки аутентификации Entra ID с помощью Sequelize. |
| EntraTokenProviderOptions |
Варианты для entraTokenProvider. |
| SequelizeBeforeConnectHook |
Структурный тип, представляющий экземпляр, похожий на Sequelize, поддерживающий |
Функции
| configure |
Настраивает экземпляр Sequelize с использованием аутентификации Entra ID. Эта функция регистрирует Example
|
| entra |
Создаёт функцию провайдера паролей, которая получает токен доступа Entra ID, подходящий для использования в качестве пароля PostgreSQL. Эта функция возвращает обратный вызов, который при вызове запрашивает токен у предоставленного <xref:TokenCredential> через область База данных Azure для PostgreSQL.
Возвращённый обратный вызов может быть передан напрямую как Example
|
Сведения о функции
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Настраивает экземпляр Sequelize с использованием аутентификации Entra ID.
Эта функция регистрирует beforeConnect на экземпляре Sequelize, который автоматически получает токен Entra ID перед каждым новым подключением к базе данных.
Крюк извлекает имя пользователя из заявок на JWT (upn или appid) и устанавливает как имя пользователя, так и пароль на конфигурации соединения.
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)
Параметры
- sequelizeInstance
- SequelizeBeforeConnectHook
Экземпляр Sequelize для настройки. Должен поддерживать крючок beforeConnect жизненного цикла.
- credential
- TokenCredential
Azure <xref:TokenCredential> используется для получения токенов (например, DefaultAzureCredential).
Опциональная конфигурация для поведения аутентификации.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Создаёт функцию провайдера паролей, которая получает токен доступа Entra ID, подходящий для использования в качестве пароля PostgreSQL.
Эта функция возвращает обратный вызов, который при вызове запрашивает токен у предоставленного <xref:TokenCredential> через область База данных Azure для PostgreSQL.
Возвращённый обратный вызов может быть передан напрямую как password опция для pg.Client, pg.Pool, или аналогичных конфигураций клиента PostgreSQL.
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>
Параметры
- credential
- TokenCredential
Azure <xref:TokenCredential> используется для получения токенов (например, DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Опциональные настройки, такие как кастомный прицел OAuth.
Возвращаемое значение
() => Promise<string>
Функция, которая при вызове возвращает обещание, разрешающее строку токена доступа.