Processo de autenticação

Processo de autenticação #

Pedidos ao API são protegidos através de um token de acesso JWT. Esse token precisa ser gerado usando o fluxo de concessão do Código de Autorização OAuth v2.

A imagem abaixo fornece um esboço do processo envolvido na geração dos tokens necessários e mantê-los vivos:

Login de Suporte

Consulte os links abaixo para obter informações técnicas detalhadas e exemplos de código do fluxo de concessão do Código de Autorização:

Para avançar com as etapas abaixo, você precisará:

  • O Request_URL, Client_ID & Client_Secret (estes ser-lhe-ão fornecidos quando solicitar API acesso)
  • Um login de usuário para o ~.Dimensions.~ Portal do revendedor para aprovar a autorização.
Color Wand tip
Se você estiver tendo problemas em qualquer estágio e precisar de assistência, entre em contato conosco em [email protected] ou ligue-nos para (+1) 480 207 7920.

1. Solicitar Autorização #

O primeiro passo é solicitar autorização - https://login.xarios.cloud/connect/authorize.
Construir a URL contendo os itens abaixo:

  • Client_Id: O client_id é fornecido quando se solicita pela primeira vez API acesso.
  • Response_Type: Use "código".
  • State: Forneça um estado que possa ser usado para identificar o redirecionamento
  • Redirect_URI: define o redirecionamento URL que é usado após a emissão de um token. O padrão é Disponível em: http://127.0.0.1:8000.
  • Escopo: Esta é a lista de escopos que precisam ser fornecidos ao solicitar um token. Isso deve ser definido como "openid offline_access onboarding".

Uma vez feito o pedido de autorização, ser-lhe-á apresentada a tela de login para o ~.Dimensions.~ Portal do Revendedor.

O redirecionamento URL deve agora ter sido passado um 'Código de Autenticação' que pode ser usado na etapa 2.

Exemplo de Pedido

[https://login.xarios.cloud/connect/authorize?client_id=123456& response_type=código& estado=5ca75bd30& redirect_uri=https%3A%2F%2Fexample.com%2Fauth& scope=open%20id%20offline_access%20onboarding](https://login.xarios.cloud/connect/authorize?client_id=123456&response_type=code&state=5ca75bd30&redirect_uri=https%3A%2F%2Fexample.com%2Fauth&scope=open%20id%20offline_access%20onboarding)

2. Solicitar acesso & Atualizar tokens #

O 'Auth Code' agora precisa ser trocado por tokens de acesso e atualização - https://login.xarios.cloud/connect/token.

  • Token de acesso, usado para acessar o API e realizar solicitações de integração.
  • Refresh Token, usado para gerar tokens de acesso contínuo

Isto pode ser feito fazendo um POST ao servidor de autorização contendo os seguintes itens:

Exemplo de Pedido

POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Tipo de conteúdo: application/x-www-form-urlencoded
Conteúdo-Comprimento: xx
código=98765& grant_type=código& client_id=123456& client_secret=987654321& redirect_uri=https%3A%2f%2fexample.com%2fauth

O servidor de autenticação valida a solicitação e responde com um token de acesso e um token de atualização:

Exemplo de resposta

{\
  "access_token": "AYjcyMzY3ZDhiNmJkNTY",\
  "refresh_token": "RjY2NjM5NzA2OWJjuE7c",\
  "token_type": "portador",\
  "Expira": 5400\
}\

Nesta fase, você deve estar em posse de tokens de acesso e atualização. O token de acesso pode ser usado para executar API solicitações de integração conforme necessário.

Para obter informações sobre como usar o API, consulte o API Referência.

3. Atualizando o token de acesso #

O tempo de vida do token de acesso é definido como 1 hora. Após esse período, um novo token de acesso precisará ser gerado usando o token de atualização.

Para evitar a necessidade de qualquer interação do usuário para gerar um novo token de acesso, um token de atualização é usado. O token de atualização pode ser usado para solicitar um novo token de acesso quando o original expirar.

Isto pode ser feito fazendo um POST solicitação ao servidor de autorização que contém os seguintes itens (isso é o mesmo que a etapa 2, mas usa o Atualizar token em vez do Código de autenticação):

  • Refresh_Token: A coleção de refresh_token armazenada na etapa 2.
  • Grant_Type: Use "refresh_token".
  • Client_Id: O client_id é fornecido quando se solicita pela primeira vez API acesso.
  • Client_Secret: O client_secret é fornecido quando se solicita pela primeira vez API acesso.

Exemplo de Pedido

POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Tipo de conteúdo: application/x-www-form-urlencoded
Conteúdo-Comprimento: xx
refresh_token=RjY2NjM5NzA2OWJjuE7c& grant_type=refresh_token& client_id=123456& client_secret=987654321
Information Circle info
Adicionando o offline_access para o escopo ao solicitar autorização na etapa 1, o processo fará com que um token de atualização seja gerado junto com o token de acesso inicial.

Hand Left warning
Os tokens de atualização expirarão se não forem usados por um período de 90 dias. O tempo de expiração continuará sendo redefinido para 90 dias toda vez que o token de atualização for usado.

Revogando tokens #

Se o token ficar comprometido, o token de acesso não poderá ser revogado, mas o token de atualização poderá. Entre em contato com o suporte imediatamente se isso acontecer ou desative o REST API através do Portal do Revendedor.