> This page is for Plataforma, version V4 experimental.
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - V4 experimental: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Herdado: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# Autenticação

A API Frame.io V4 usa o [Adobe Identity Management Service (IMS)](https://developer.adobe.com/developer-console/docs/guides/authentication/), a plataforma de identidade OAuth 2.0 da Adobe. Há duas categorias de autenticação:

#### Autenticação servidor para servidor

Permite que usuários técnicos ou de conta de serviço executem ações sem interação do usuário. Disponível apenas para contas Frame.io V4 administradas pelo [Adobe Admin Console](https://adminconsole.adobe.com).

#### Autenticação do usuário

Atua como o usuário ao qual o token pertence. Disponível para todas as contas Frame.io V4 administradas pelo Adobe Admin Console, bem como para contas gerenciadas pelo [Frame que mudaram para a Autenticação da Adobe](https://help.frame.io/pt-BR/articles/11758018-connecting-to-adobe-authentication).

---

## Guias de autenticação do SDK

Os SDKs do Frame.io gerenciam todo o ciclo de vida do OAuth para você: URLs de autorização, troca de tokens, atualização automática e revogação.Escolha sua linguagem para começar:

#### [Python SDK](./python-sdk)

`ServerToServerAuth`, `WebAppAuth` e `SPAAuth` com suporte síncrono e assíncrono.

#### [SDK para TypeScript](./typescript-sdk)

Autenticação `ServerToServerAuth`, `WebAppAuth`, `SPAAuth` e `NativeApp` para Node.js e ambientes de navegador.

> **Tip**
>
> Se você estiver criando um serviço de backend ou automação, comece com **Server-to-Server**. Se o aplicativo tiver usuários que fazem logon, escolha **Web App**, se puder armazenar um Client Secret, ou **SPA** (se você não pode).

---

## Autenticação do usuário

As credenciais de autenticação do usuário são criadas no [Adobe Developer Console](https://developer.adobe.com/console). A Adobe oferece suporte a três tipos de credenciais. Escolha aquele que corresponde à arquitetura do seu aplicativo:

#### [Aplicativo Web OAuth](https://developer.adobe.com/developer-console/docs/guides/authentication/UserAuthentication/implementation/#oauth-web-app-credential)

Para aplicativos do lado do servidor que podem armazenar um client secret com segurança (Flask, Django, FastAPI, Express etc.).

#### [Aplicativo de página única OAuth](https://developer.adobe.com/developer-console/docs/guides/authentication/UserAuthentication/implementation/#oauth-single-page-app-credential)

Para aplicativos baseados em navegador, CLIs ou aplicativos de desktop que não podem armazenar um client secret. Usa PKCE.

#### [Native App OAuth](https://developer.adobe.com/developer-console/docs/guides/authentication/UserAuthentication/implementation/#oauth-native-app-credential)

Para aplicativos móveis nativos ou de desktop que usam redirecionamentos de esquema de URI personalizado.

> **Note**
>
> O Frame.io Python SDK não inclui uma classe de credencial de Native App, pois o Python não tem uma forma padrão de registrar manipuladores de esquema de URI personalizado. Use **Aplicativo Web** com um servidor de callback local. O SDK para TypeScript oferece suporte a todos os três tipos de credenciais.

---

## Autenticação servidor para servidor

A autenticação servidor para servidor permite que seu aplicativo atue como um **usuário de conta de serviço**, sem intervenção humana. Seu aplicativo se autentica com credenciais de cliente e recebe um token de acesso diretamente. As ações da conta de serviço ficam visíveis no Frame.io com o nome da conta de serviço. O acesso à conta de serviço é gerenciado pelo [Adobe Admin Console](https://adminconsole.adobe.com/) e [Developer Console](https://developer.adobe.com/console). No momento, o nome da conta de serviço não pode ser ajustado. Consulte os guias específicos de SDK acima para obter detalhes de implementação.

> **Info**
>
> Consulte [Automatize sua configuração usando o suporte servidor para servidor do Frame.io](https://helpx.adobe.com/enterprise/using/automate-using-frame-io.html) para saber mais sobre a configuração da conta de serviço.

---

## Como funciona a autenticação do Adobe IMS

O Adobe Identity Management Service (IMS) é o recurso de gerenciamento de identidade da Adobe baseado em OAuth 2.0 que oferece suporte à autenticação. Há duas etapas necessárias para gerar o token de acesso:

#### Autorização do usuário

Primeiro, o usuário autoriza o aplicativo antes da geração de um token. Os detalhes estão [aqui](https://developer.adobe.com/developer-console/docs/guides/authentication/UserAuthentication/ims/#authorize-request).

#### Troca de token

Em seguida, busque o token de acesso. A etapa acima retorna um código no corpo da resposta necessário nesta etapa. Consulte os pontos de acesso exatos e os parâmetros a serem usados [aqui](https://developer.adobe.com/developer-console/docs/guides/authentication/UserAuthentication/ims/#fetching-access-tokens).

> **Note**
>
> As etapas acima são necessárias para todos os três tipos de credenciais de aplicativo. Há diferenças na forma como os pontos de acesso do IMS `/authorize/v2` e `/token/v3` são acessados para obter o token. Depois de ter o token de acesso, você pode usá-lo para interagir com a API Frame.io V4.

Para autenticação **Servidor para servidor**, não há etapa de autorização do usuário. O aplicativo usa credenciais de cliente diretamente para obter um token de acesso por meio da concessão `client_credentials`.

### Uso do token de acesso

Quando tiver um token de acesso, inclua-o no cabeçalho `Authorization` de todas as solicitações de API:

```
Authorization: Bearer <ACCESS_TOKEN>
```

Os SDKs do Frame.io fazem isso para você. Basta passar o token, ou um chamável que forneça o token, ao criar o cliente.

### TTL do token

Os tokens de acesso são de **curta duração**. Normalmente, expiram em 1 hora. Para fluxos de autenticação do usuário (Aplicativo Web, SPA, Native App), o Adobe IMS também retorna um **token de atualização** que pode ser usado para obter um novo token de acesso sem exigir que o usuário faça logon novamente. Os tokens de atualização têm duração maior, mas também expiram eventualmente.

Para autenticação servidor para servidor, não há tokens de atualização. As próprias credenciais de cliente nunca expiram, a menos que sejam alternadas manualmente, portanto o aplicativo sempre pode solicitar um novo token de acesso.

Os SDKs do Frame.io processam a atualização de token automaticamente. Consulte os [guias específicos de SDK](#sdk-authentication-guides) para obter detalhes.

### Escopos

Ao criar credenciais no [Adobe Developer Console](https://developer.adobe.com/console), você configurará escopos OAuth que determinam o que seu aplicativo pode acessar. Os SDKs do Frame.io usam os seguintes escopos padrão:

| Fluxo                                                         | Escopos padrão                                              |
| ------------------------------------------------------------- | ----------------------------------------------------------- |
| **Servidor para servidor**                                    | `openid AdobeID frame.s2s.all`                              |
| **Autenticação do usuário** (aplicativo web, SPA, Native App) | `openid email profile offline_access additional_info.roles` |

> **Note**
>
> O escopo `offline_access` é necessário para fluxos de autenticação do usuário receberem um token de atualização. Sem ele, você receberá apenas um token de acesso e os usuários precisarão se autenticar novamente quando ele expirar.

---

## Tokens de desenvolvedor legados

Para contas migradas da V4 que **ainda não são administradas através do [Adobe Admin Console](https://adminconsole.adobe.com/)**, você pode continuar a usar tokens de desenvolvedor legados gerenciados no [site de desenvolvedor do Frame.io](https://developer.frame.io/app/tokens). Passe o token diretamente para o SDK:

```python
from frameio import Frameio

client = Frameio(
    token="YOUR_LEGACY_DEVELOPER_TOKEN",
    headers={"x-frameio-legacy-token-auth": "true"},
)
```

> **Warning**
>
> Ao usar um token de desenvolvedor legado com a API V4, você deve adicionar o cabeçalho `x-frameio-legacy-token-auth` com um valor de `true` a todas as solicitações de API. Se estiver usando o SDK, defina-o pelas opções de solicitação do cliente.

Tokens de desenvolvedor legados não expiram, mas são um mecanismo de transição. Para novas integrações e cargas de trabalho de produção, recomendamos usar um dos fluxos OAuth 2.0 abaixo. Consulte o [Guia de migração](/platform/docs/resources/migration#authentication) para obter detalhes.

> **Note**
>
> Se você for um cliente Enterprise migrando do Frame.io Legacy para a V4, entre em contato com seu CSM para obter ajuda na configuração com o token de desenvolvedor legado e a V4

> **Tip**
>
> Consulte o [Guia de migração](/platform/docs/resources/migration#authentication) para obter detalhes sobre a transição de tokens legados para a autenticação do Adobe IMS.