Processo de autenticação #
Solicitações para o API são protegidos por meio de um token de acesso JWT. Esse token precisa ser gerado usando o fluxo de concessão do Código de Autorização do OAuth v2.
A imagem abaixo fornece um esboço do processo envolvido na geração dos tokens necessários e em mantê-los ativos:
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 progredir com as etapas abaixo, você precisará de:
- O Request_URL, Client_ID & Client_Secret (estes serão fornecidos a você quando você 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 para nós (+1) 480 207 7920.
1. Solicitar autorização #
O primeiro passo é solicitar autorização - https://login.xarios.cloud/connect/authorize.
Construa um URL contendo os itens abaixo:
- Client_Id: O client_id é fornecido ao solicitar 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: essa é a lista de escopos que precisam ser fornecidos ao solicitar um token. Isso deve ser definido como "openid offline_access onboarding".
Assim que a solicitação de autorização for feita, você verá a tela de login para o ~.Dimensions.~ Portal do Revendedor.
O redirecionamento URL agora deve ter sido passado um 'Código de Autenticação' que pode ser usado na etapa 2.
Exemplo de solicitação
[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. Solicite acesso e Tokens de atualização #
O 'Código de Autenticação' 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 recursos e realizar solicitações de integração.
- Token de atualização, usado para gerar tokens de acesso contínuo
Isso pode ser feito fazendo um POST solicitação 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ção).
- Client_Id: O client_id é fornecido ao solicitar API acesso.
- Client_Secret: O client_secret é fornecido ao solicitar 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 solicitação
POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Tipo de conteúdo: application/x-www-form-urlencoded
Comprimento do conteúdo: 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 de 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 tempo, 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.
Isso pode ser feito fazendo um POST solicitação ao servidor de autorização contendo os seguintes itens (isso é o mesmo que a etapa 2, mas usa o Token de atualização 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 ao solicitar API acesso.
- Client_Secret: O client_secret é fornecido ao solicitar API acesso.
Exemplo de solicitação
POST <https://login.xarios.cloud/connect/token> HTTP/1.1
Tipo de conteúdo: application/x-www-form-urlencoded
Comprimento do conteúdo: xx
refresh_token=RjY2NjM5NzA2OWJjuE7c& grant_type = refresh_token & client_id=123456& client_secret=987654321
info
Adicionar o offline_access ao escopo ao solicitar autorização no processo da etapa 1 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 sempre que o token de atualização for usado.
Revogando tokens #
Se o token for 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.