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:
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.
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:
- Code: O código de autenticação coletado na etapa 1.
- Grant_Type: Defina como authorization_code. (De acordo com o https://developer.okta.com/blog/2018/04/10/oauth-authorization-code-grant-type especificações).
- 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.
- 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.
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
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.
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.