> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conectores de usuário do app

> Permita que cada usuário do app conecte sua própria conta de terceiros

<div className="dev-docs-banner">
  <div className="dev-docs-banner-content">
    <div className="dev-docs-banner-title">
      Você está vendo a documentação para desenvolvedores
    </div>

    <div className="dev-docs-banner-text">
      Esta documentação é para desenvolvedores que trabalham com a plataforma para desenvolvedores
      Base44. Para informações sobre conectores no editor de apps, veja{" "}
      <a href="/Integrations/Connectors">Usando Conectores</a>.
    </div>
  </div>
</div>

Conectores de usuário do app permitem que cada usuário logado conecte sua própria conta de terceiros. Cada usuário do app recebe seu próprio token OAuth. Use isto quando as ações precisam acontecer como o usuário individual do app, como enviar e-mail da conta Gmail dele, postar no LinkedIn pessoal ou ler seus próprios eventos do Google Calendar.

Diferente dos conectores compartilhados, onde uma conta é compartilhada entre todos os usuários do app, conectores de usuário do app armazenam um token OAuth separado por usuário. O fluxo OAuth roda sob seu app OAuth registrado, então os usuários do app veem o nome do seu app na tela de consentimento do provedor.

<Note>Conectores de usuário do app exigem o plano Builder ou superior.</Note>

## Configurar

Antes que os usuários do app possam conectar suas contas, registre as credenciais do seu app OAuth no seu workspace. Isso requer acesso de admin do workspace. Você também precisa de um client ID e client secret do serviço externo.

Registre o conector nas Workspace Settings. Veja [Configurando conectores para usuários do app](/Integrations/user-connectors) para instruções passo a passo.

Depois de registrar o conector, o workspace atribui um ID a ele. Use esse ID para conectar e desconectar usuários do app no seu código frontend e recuperar seus tokens nas suas funções de backend.

## Conectar e desconectar no seu frontend

Use `base44.connectors` no seu código frontend para iniciar e encerrar o fluxo OAuth para cada usuário do app.

Para conectar um usuário do app, chame [`connectAppUser`](/developers/references/sdk/docs/interfaces/connectors#connectappuser) com o ID do conector. Ele retorna uma URL de redirecionamento. Navegue o usuário do app para essa URL para iniciar o fluxo OAuth.

```typescript theme={null}
const redirectUrl = await base44.connectors.connectAppUser("YOUR_CONNECTOR_ID");
window.location.href = redirectUrl;
```

Depois que o usuário do app completa o fluxo, seu token é armazenado [e suas funções de backend podem recuperá-lo]().

***

Para desconectar um usuário do app, chame [`disconnectAppUser`](/developers/references/sdk/docs/interfaces/connectors#disconnectappuser) com o ID do conector. Ele remove o token armazenado para o usuário do app atualmente logado.

```typescript theme={null}
await base44.connectors.disconnectAppUser("YOUR_CONNECTOR_ID");
```

## Recuperar o token em uma função de backend

Use [`createClientFromRequest()`](/developers/references/sdk/docs/functions/createClientFromRequest) para criar o cliente SDK na sua função de backend. Ele lê a identidade do usuário do app da requisição recebida automaticamente, então o SDK sabe qual token de usuário retornar.

Depois chame [`getCurrentAppUserConnection()`](/developers/references/sdk/docs/interfaces/connectors#getcurrentappuserconnection) com o ID do conector para recuperar o token para o usuário do app que está fazendo a requisição atual.

```typescript theme={null}
import { createClientFromRequest } from "@base44/sdk";

export default async function handler(req: Request) {
  const base44 = createClientFromRequest(req);

  const { accessToken } =
    await base44.asServiceRole.connectors.getCurrentAppUserConnection(
      "YOUR_CONNECTOR_ID",
    );

  const response = await fetch(
    "https://www.googleapis.com/calendar/v3/calendars/primary/events",
    {
      headers: { Authorization: `Bearer ${accessToken}` },
    },
  );

  const events = await response.json();
  return Response.json(events);
}
```

## Veja também

* [Visão geral de conectores](/developers/backend/resources/connectors)
* [Conectores compartilhados](/developers/backend/resources/connectors/shared-connectors)
* [Configurando conectores para usuários do app](/Integrations/user-connectors)
* [Referência do SDK de conectores](/developers/references/sdk/docs/interfaces/connectors#getcurrentappuserconnection)
* [createClientFromRequest](/developers/references/sdk/docs/functions/createClientFromRequest)
* [Funções de backend](/developers/backend/resources/backend-functions/overview)

<Note>Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a [versão em inglês](/). </Note>
