Autenticação
Credenciais criptografadas
type'encryptedCredentials'obrigatórioO tipo de autenticação.
namestringobrigatórioO nome das credenciais. Por exemplo: Twitter account, OpenAI account,
Stripe keys e assim por diante.
schemaz.ZodObject<any>obrigatórioO esquema dos dados que precisam ser guardados. Veja Options para mais informações.
Exemplo:
option.object({
apiKey: option.string.meta({ layout: {
isRequired: true,
label: "API key",
withVariableButton: false,
} }),
});OAuth
type'oauth'obrigatórioO tipo de autenticação para o fluxo OAuth 2.0.
namestringobrigatórioO nome das credenciais. Por exemplo: Gmail account, Google Drive,
GitHub account e assim por diante.
authUrlstringobrigatórioA URL de autorização do provedor OAuth, para onde os usuários serão redirecionados a fim de se autenticar.
tokenUrlstringobrigatórioA URL do endpoint de token, onde o código de autorização será trocado por tokens de acesso.
scopesstring[]obrigatórioVetor de escopos OAuth que definem as permissões solicitadas pela sua aplicação.
defaultClientEnvKeysobjectObjeto que define os nomes padrão das variáveis de ambiente para as credenciais do cliente OAuth.
extraAuthParamsobjectParâmetros adicionais a incluir na requisição de autorização.
Exemplo:
const gmailScopes = [
"https://www.googleapis.com/auth/gmail.send",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/userinfo.email",
] as const;
export const auth = createAuth({
type: "oauth",
name: "Gmail account",
authUrl: "https://accounts.google.com/o/oauth2/v2/auth",
tokenUrl: "https://oauth2.googleapis.com/token",
scopes: gmailScopes,
defaultClientEnvKeys: {
id: "GMAIL_CLIENT_ID",
secret: "GMAIL_CLIENT_SECRET",
},
extraAuthParams: {
access_type: "offline",
prompt: "consent",
},
});