Por Alex Bedley - 1 de setembro de 2016
Atualizado em 4 de fevereiro de 2021
Para quem são os tokens de atualização do OAuth 2.0?
Este artigo é de interesse para desenvolvedores que criam aplicativos que interagem com APIs do Brightspace em nome de seus usuários. Esse método de autenticação só é recomendado se o aplicativo for headless (não baseado em navegador).
O que é um token de atualização do OAuth 2.0?
Como parte das boas práticas de segurança, os tokens de acesso (tokens que permitem autenticar com APIs do Brightspace) expiram após um curto período de tempo. Isso cria um problema, pois agora os aplicativos precisarão de uma maneira de obter novos tokens de acesso com frequência. Os tokens de atualização resolvem esse problema.
Os tokens de atualização são tokens de uso único emitidos para aplicativos de terceiros pelo serviço de autorização. O aplicativo armazena esse token de atualização até que o token de acesso associado expire. Os tokens de atualização podem ser trocados por um novo token de acesso e um token de atualização. Os tokens de atualização (e tokens de acesso) devem ser tratados como senhas.
Como faço para obter um token de atualização do OAuth 2.0?
As seções a seguir detalharão como:
- Baixe o aplicativo de exemplo que orienta os usuários pelo fluxo do OAuth 2.0
- Registrar o aplicativo no Brightspace
- Obter o consentimento do usuário para permitir que o aplicativo de amostra acesse as APIs do Brightspace em nome do usuário
- Adquirir um token de atualização (e um token de acesso) para esse usuário
Baixe o aplicativo de exemplo
O aplicativo de exemplo, uma vez registrado, permitirá que você trabalhe com o fluxo do OAuth 2.0 de maneira amigável. É útil para entender como obter tokens de atualização e também pode ser usado ao testar seus aplicativos. Recomenda-se executar o aplicativo localmente.
Executar localmente
Para executar localmente, você deve ter <a href=" target=" _blank"="">nó</a>
e npm
Instalado.
- Clone o repositório:
https://github.com/neverendingqs/oauth2-client-shell
- Instale as dependências:
instalação do npm
- Inicie o aplicativo:
npm executar desenvolvimento
- Navegue até https://localhost:3001/
- Seu navegador pode reclamar de certificados SSL neste momento ("Sua conexão não é segura") porque o aplicativo está usando um certificado autoassinado. Nesse caso, como você está hospedando-o localmente, podemos ignorar esses avisos com segurança.
Registrar o aplicativo no Brightspace
Para executar as etapas a seguir, o leitor deve ter acesso de administrador (ou conhecer alguém com acesso de administrador) à instância do Brightspace.
- Navegue até Gerenciar extensibilidade no menu Ferramentas administrativas.
- Clique no ícone OAuth 2.0 guia.
- Clique no botão Registrar um aplicativo botão.
- Preencha os detalhes necessários:
- Para obter o URI de redirecionamento, observe o valor do URI de redirecionamento na interface do usuário do aplicativo de exemplo. Se você estiver hospedando o aplicativo de exemplo localmente, URI de redirecionamento deve ser https://localhost:3001/.
- Pelo Âmbito campo, use
núcleo:*:*
. - Certificar-se Habilitar tokens de atualização está marcada.
- Clique no botão Registro botão.
- Obtenha o ID do cliente e Segredo do cliente para o aplicativo que você acabou de registrar.
Obter o consentimento do usuário
Antes de obter um token de atualização para um usuário, esse usuário deve permitir que seu aplicativo acesse as APIs do Brightspace em seu nome.
- No aplicativo de exemplo, preencha os seguintes campos:
- Clique no botão Obter código de autorização botão.
- A página redirecionará você para fazer login em sua instância do Brightspace (se você ainda não estiver conectado).
- Depois de fazer login, clique no botão Aceitar botão.
- O Brightspace deve redirecioná-lo de volta para o aplicativo de amostra.
Nesta seção, obtivemos o consentimento de um usuário e obtivemos um Código de autorização. Vamos precisar disso Código de autorização para obter um token de atualização para o usuário.
Adquirir um token de atualização
Agora que temos nosso Código de autorização Podemos trocar isso por um token de acesso e atualização. Continuando da seção anterior:
O aplicativo de amostra deve ter aberto automaticamente oe Acessar (e atualizar) o token por meio do código de autorização do aplicativo e preenchido com a tag Código de autorização campo.
Preencha os seguintes campos:
Figura: O Shell do cliente OAuth.
Clique no botão Código de autorização de troca botão.
Agora você obteve com sucesso um token de atualização!
Para onde vamos a partir daqui?
Este artigo mostrou como obter um token de atualização com a ajuda de um aplicativo de exemplo. Em seu aplicativo de produção, você armazenará esse token de atualização e o token de acesso associado com segurança. O token de acesso permite que você acesse as APIs do Brightspace em nome de um usuário consentido.
Os tokens de atualização são de longa duração, mas de uso único: você não pode reutilizar um token de atualização para solicitar um novo token de acesso. Em vez disso, você os usa uma vez e deve obter de volta um novo token de acesso e um novo token de atualização (que você usará posteriormente para um fluxo de trabalho de token de atualização subsequente).
Os desenvolvedores de aplicativos precisam prestar atenção aos tempos de expiração dos tokens: os tokens de acesso têm um tempo de expiração curto; Os tokens de atualização têm um tempo de acesso longo. Para usar com êxito o fluxo de trabalho do token de atualização repetidamente para manter o acesso do aplicativo atualizado, eles precisam garantir que se envolvam nesse fluxo de trabalho de atualização antes que o token de atualização expire (sempre que tentarem atualizar).
Extensão de Aprendizagem: Acesse o Curso Gratuito
Os clientes do Brightspace podem acessar um curso gratuito sobre como começar a usar a API do Brightspace, no Centro de aprendizagem.
Curso de Acesso: Aprenda carteiro com Paul
*O acesso ao Centro de aprendizagem é fornecido aos instrutores e administradores que estão usando o Brightspace no momento. Você deve estar conectado à Comunidade com o endereço de e-mail da sua Escola ou Organização para verificar seu acesso ao conteúdo freemium e premium do Centro de Aprendizagem.
Figura: Imagem de aplicativo de exemplo OAuth2.
Figura: Um exemplo de registro de um aplicativo.