Autenticação

Autenticação Oauth2

O Cryptohopper usa Oauth2 para fornecer acesso autorizado à sua API.

Usando Oauth2

Entender como funciona o OAuth2 pode te ajudar a criar e depurar aplicações que usam a API do Cryptohopper. Para usar o OAuth, um aplicativo precisa:

  • Obter tokens de concessão para agir em nome de uma conta de usuário.
  • Trocar tokens de concessão por tokens de acesso.
  • Autorizar todas as requisições HTTP enviadas às APIs do Cryptohopper.

O método de autenticação de usuário permite que um app aja em nome do usuário, como se fosse o próprio usuário.

Exemplo: se um desenvolvedor quisesse criar um recurso que permitisse um robô de negociação comprar uma determinada moeda em sua plataforma usando o endpoint de compra, o desenvolvedor precisaria utilizar a autenticação do usuário para obter permissão do usuário para negociar em seu nome.

Em outras palavras, uma requisição assinada identifica a identidade de um aplicativo, além das permissões concedidas ao usuário final, para o qual o aplicativo está fazendo chamadas API, representadas pelo token de acesso do usuário.

Autenticação do usuário requer a chave e segredo da sua app do Cryptohopper e o token de acesso e o segredo de acesso do usuário em cujo nome você está tentando agir. Mais informações sobre os métodos OAuth abaixo:

Métodos Oauth2

authorize

Com o endpoint authorize, os usuários podem fazer login no Cryptohopper e conceder acesso ao aplicativo. Após a concessão de acesso bem-sucedida ou após qualquer erro, o usuário será redirecionado para o URL de redirecionamento. Se o URL de redirecionamento não for especificado na solicitação, o URL de redirecionamento da configuração do aplicativo será usado. Nos parâmetros GET do URL de redirecionamento, você receberá o token de concessão que pode ser trocado por um access_token.


Endpoint: https://www.cryptohopper.com/oauth2/authorize

Aceita: GET

Retorna: code, state em GET no URL de redirecionamento

Parâmetros:

  • client_id: A chave da sua aplicação.
  • response_type: O tipo de resposta deve conter o texto: code.
  • redirect_uri: O URL de redirecionamento para onde os usuários serão redirecionados após o processo OAuth.
  • state: Parâmetro extra para reconhecer solicitações do lado do aplicativo. Será retornado para o URL de redirecionamento.
  • scope: Uma lista separada por vírgula de escopos, por exemplo: read,notifications,manage,trade.

 

token

O endpoint token é usado para trocar um token/código de concessão por um access_token válido.


Endpoint: https://www.cryptohopper.com/oauth2/token

Aceita: POST em application/json

Retorna: access_token e refresh_token em application/json

Parâmetros:

  • client_id: A chave da sua aplicação.
  • client_secret: O segredo da sua aplicação.
  • grant_type: O tipo de concessão deve conter o texto: authorization_code.
  • redirect_uri: O URL de redirecionamento do seu aplicativo.
  • code: O token/código de concessão.

 


Códigos de resposta bem-sucedidos

Quando uma solicitação ao endpoint access_token é bem-sucedida, o usuário será redirecionado para o URL de redirecionamento com um token de concessão passado como parâmetros GET.

Uma solicitação bem-sucedida ao endpoint token terá um código de resposta 200 e incluirá um access_token no corpo, que pode ser usado para autenticar chamadas API.

Códigos de resposta de erro

Erros retornados ao URL de redirecionamento são reconhecíveis pelo parâmetro GET retornado: error=1. Abaixo você encontrará possíveis mensagens de erro:

  • Chave da aplicação inválida.
  • Assinatura inválida.
  • A chave da aplicação não pode estar vazia.
  • O usuário não concedeu permissão ao aplicativo.