@azure/postgresql-auth package
Interfaces
| ConfigureEntraAuthenticationOptions |
Opções para configurar autenticação do Entra ID com o Sequelize. |
| EntraTokenProviderOptions |
Opções para entraTokenProvider. |
| SequelizeBeforeConnectHook |
Um tipo estrutural que representa uma instância semelhante a Sequelize que suporta o |
Funções
| configure |
Configura uma instância Sequelize para usar autenticação Entra ID. Essa função registra um gancho Example
|
| entra |
Cria uma função de provedor de senhas que adquire um token de acesso Entra ID adequado para uso como senha PostgreSQL. Essa função retorna um callback que, quando invocado, solicita um token do <xref:TokenCredential> fornecido usando o escopo Banco de Dados do Azure para PostgreSQL.
O callback retornado pode ser passado diretamente como opção Example
|
Detalhes da função
configureEntraAuthentication(SequelizeBeforeConnectHook, TokenCredential, ConfigureEntraAuthenticationOptions)
Configura uma instância Sequelize para usar autenticação Entra ID.
Essa função registra um gancho beforeConnect na instância Sequelize que automaticamente adquire um token Entra ID antes de cada nova conexão com banco de dados.
O hook extrai o nome de usuário das reivindicações do token JWT (upn ou appid) e define tanto o nome de usuário quanto a senha na configuração da conexão.
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)
Parâmetros
- sequelizeInstance
- SequelizeBeforeConnectHook
A instância Sequelize para configurar. Deve apoiar o beforeConnect gancho do ciclo de vida.
- credential
- TokenCredential
Um Azure <xref:TokenCredential> usado para adquirir tokens (por exemplo, DefaultAzureCredential).
Configuração opcional para o comportamento de autenticação.
entraTokenProvider(TokenCredential, EntraTokenProviderOptions)
Cria uma função de provedor de senhas que adquire um token de acesso Entra ID adequado para uso como senha PostgreSQL.
Essa função retorna um callback que, quando invocado, solicita um token do <xref:TokenCredential> fornecido usando o escopo Banco de Dados do Azure para PostgreSQL.
O callback retornado pode ser passado diretamente como opção password para pg.Client, pg.Pool, ou configurações similares de clientes 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>
Parâmetros
- credential
- TokenCredential
Um Azure <xref:TokenCredential> usado para adquirir tokens (por exemplo, DefaultAzureCredential).
- options
- EntraTokenProviderOptions
Configurações opcionais, como um osciloscópio OAuth personalizado.
Retornos
() => Promise<string>
Uma função que, quando chamada, retorna uma promessa resolvendo para a string do token de acesso.