Fluxo de autorização de código do OAuth 2

Visão geral

O Frame.io oferece suporte à criação e ao gerenciamento de aplicativos OAuth 2.Diferentemente dos tokens de desenvolvedor, os aplicativos OAuth 2 permitem que qualquer usuário do Frame.io conceda suas credenciais por meio de login seguro, após o qual o aplicativo pode agir em nome desse usuário.

Em termos simples, os aplicativos OAuth 2 são ideais para qualquer cenário de integração no qual o contexto e o acesso de uma pessoa são importantes.

Fluxo de código OAuth 2

A sequência básica

Em um nível muito alto, o OAuth 2 tem três partes:

  1. O usuário (no nosso caso: qualquer pessoa com um login do Frame.io)
  2. O aplicativo cliente (o aplicativo externo OAuth2.0)
  3. O servidor de credenciais (no nosso caso: Frame.io)

O fluxo de código para OAuth 2 é um processo de quatro etapas pelo qual:

  1. O aplicativo apresenta ao usuário uma tela de login
  2. O usuário insere suas credenciais, que vão diretamente para o servidor
  3. Se o login for bem-sucedido, o servidor envia de volta uma página perguntando ao usuário se confirma que gostaria de conceder um conjunto pré-configurado de escopos de acesso ao aplicativo
  4. Se o usuário consentir, o servidor envia ao aplicativo um token que pode ser usado para agir em nome do usuário com os escopos solicitados.

Dessa forma, um aplicativo cliente pode tomar ações em nome do usuário, com segurança, com a permissão do usuário e (importante) sem nunca ver ou manipular as credenciais reais do usuário.

O ciclo de callback

A sequência acima depende do servidor (Frame.io) hospedar dois serviços, cada um com sua própria rota:

ServiçoURLMétodoDescrição
Autenticaçãohttps://applications.frame.io/oauth2/authGETDadas as informações sobre o aplicativo cliente OAuth, invoca o fluxo de autorização com o servidor.
Tokenhttps://applications.frame.io/oauth2/tokenPOSTDadas as informações da etapa de autorização, recupera um token em nome do usuário.

A função do aplicativo OAuth 2 neste ciclo é se identificar para o servidor e fazer essas duas solicitações.

Exemplo rápido

Você já criou um aplicativo OAuth 2 antes?

Se você já conhece o restante da estrutura do OAuth2.0, o exemplo abaixo pode ser suficiente para começar.Se quiser mais detalhes, confira o guia mais detalhado aqui.

Configurar seu aplicativo

  1. Faça login no Portal do desenvolvedor do Frame.io usando suas credenciais do Frame.io, navegue até Aplicativos OAuth usando os links do lado esquerdo e clique em Novo para começar a configurar seu aplicativo.
  2. Na tela seguinte, insira um Nome e URI de redirecionamento para seu aplicativo, selecione seus Escopos e escolha se deseja usar o PKCE.
  3. Salve e agora você deve ver a nova configuração do aplicativo.
Sobre o PKCE

A configuração Proof Key for Code Exchange (“pixie”) permitirá que seu aplicativo solicite tokens sem fornecer seu client_secret.Assim, você não receberá um client_secret e não deve incluir um cabeçalho Authorization ao fazer POST para um token no ciclo de callback do seu aplicativo.Dito isso, você precisa incluir seu client_id no seu callback, ou sua solicitação será negada.

Quando devo usar o PKCE?

Em geral, não há efeitos colaterais negativos ao usar o PKCE, sendo a abordagem recomendada e preferida.Ao desenvolver um aplicativo cliente OAuth2.0, você implementará o fluxo de autorização de código em um de dois contextos:

  • Privado: seu fluxo é implementado em uma linguagem do lado do servidor (Python, Java) e você pode gerenciar com segurança seu client_secret em um servidor que controla.- Público: seu fluxo é implementado em uma linguagem do lado do cliente (Javascript) ou diretamente em um dispositivo cliente que um usuário final controla (iOS, Android).

Como regra geral, você pode considerar um aplicativo “público” se você, o desenvolvedor do aplicativo, não conseguir ver e controlar todo o tráfego de rede relacionado à troca de segredos.Isso significa que, além de aplicativos do lado do cliente, aplicativos para dispositivos móveis, dispositivos incorporados ou qualquer dispositivo que esteja na rede de um usuário final (AppleTV, Roku, etc.) devem ser considerados públicos.

Em contextos privados, você pode usar o PKCE.Em contextos públicos, você deve usar o PKCE.

Criar seu aplicativo OAuth 2

Agora que você tem uma configuração de aplicativo no Frame.io, pode configurar seu servidor de callback para gerenciar as duas rotas principais para concluir o ciclo de callback, conforme a tabela acima.

Para obter informações mais detalhadas sobre como criar seu aplicativo, consulte Como criar um aplicativo OAuth 2.