Git integration: use refresh token

Description

Questões Gerais Respostas
1) Qual o seu segmento TOTVS? Plataforma RH
2) Qual o produto / Carol APP relacionado? hrplataform
3) Informe o ambiente impactado: Desenvolvimento
4) Informe a fase/estágio É um Projeto
5) Informe a prioridade desta issue. Média
Informe o tipo de problema/dúvida que descreve a sua situação. Erro/Lentidão na Plataforma Carol
3.1) Informar o nome da organização OU org ID. totvstechfindev
3.3) link do CarolApp https://totvstechfindev.carol.ai/hrplatformdev/carol-ui/carol-app-dev/6b2dd0b7c5734bba9679d6bae188196b/overview

No CarolApp esta/estava configurado o "Git connection" com Azure. Conforme o print abaixo:

 

Porém a conexão/credenciais estão sendo perdidas de forma periódica fazendo com que entre no CarolApp para realizar a reconfiguração. Conforme o print abaixo:

INTERNAL (THIS ONLY APPLIES TO AZURE OAUTH FLOW):

GOAL

When using OAUTH flow (automatic input):

  • Create a new field to persist the refresh token once we got the authorization.

https://learn.microsoft.com/pt-br/azure/devops/integrate/get-started/authentication/oauth?view=azure-devops#3-get-an-access-and-refresh-token-for-the-user

Resposta – autorizar aplicativo

{
    "access_token": { access token for the user },
    "token_type": { type of token },
    "expires_in": { time in seconds that the token remains valid },
    "refresh_token": { refresh token to use to acquire a new access token }
}
  • Once a token is expired (or is close to it) get a new access token using the refresh token to avoid losing credentials.

A new refresh token gets issued for the user. Persist this new token and use it the next time you need to acquire a new access token for the user.

AC

  • The refresh token must persist whenever we perform an authorization or refresh of the access token.
  • Whenever an authentication failure is detected in Carol due to the expiration of the access token in Azure, a new attempt must be made using the refresh token to obtain the new access token.