身份验证

OAuth2身份验证

Cryptohopper 使用 OAuth2 来提供对 API 的授权访问。

使用 OAuth2

了解 OAuth2 的工作原理有助于创建和调试使用 Cryptohopper API 的应用程序。要使用 OAuth,应用程序必须:

  • 获取授权令牌以代表用户帐户执行操作。
  • 将授权令牌转换为访问令牌。
  • 授权所有发送到 Cryptohopper API 的 HTTP 请求。

用户认证方法允许应用程序以用户的身份代表用户行事。

例如,如果开发人员想要构建一个功能,允许交易机器人通过其平台使用买入终结点购买特定币种,那么该开发人员必须使用用户身份验证来获得用户的授权,以便以用户的名义进行交易。

换句话说,已签名的请求除了标识应用程序的身份之外,还标识了应用程序代表最终用户进行 API 调用所获得的权限(由用户的访问令牌表示)。

用户身份验证需要你的 Cryptohopper 应用程序的 App key 和 secret,以及你要代表其行动的用户账号的访问令牌和访问密钥。有关 OAuth 方法的更多信息,请见下文:

OAuth2 方法

authorize

通过 authorize 终结点,用户可以登录 Cryptohopper 并授予应用程序访问权限。授权访问成功或发生任何错误后,用户将被重定向到重定向 URL。如果请求中未指定重定向 URL,则使用应用程序配置的重定向 URL。在重定向 URL 的 GET 参数中,你将收到可用于交换 access_token 的授权令牌。


终结点:https://www.cryptohopper.com/oauth2/authorize

接受:GET

返回:code, state 在重定向 URL 的 GET

参数:

  • client_id:你的应用程序的 App key。
  • response_type:响应类型应包含文本:code。
  • redirect_uri:用户在 OAuth 过程结束后将被重定向到的重定向 URL。
  • state:用于在应用程序端识别请求的额外参数。它将返回到重定向 URL。
  • scope 逗号分隔的权限列表,例如:read,notifications,manage,trade。

 

token

token 终结点用于将授权令牌/代码更改为有效的 access_token。


终结点:https://www.cryptohopper.com/oauth2/token

接受:POSTapplication/json 格式

返回:access_token 和 refresh_token 以application/json 格式

参数:

  • client_id:你的应用程序的 App key。
  • client_secret:你的应用程序的 App secret。
  • grant_type:授权类型应包含文本:authorization_code。
  • redirect_uri:你的应用程序的重定向 URL。
  • code:授权令牌/代码。

 


成功响应代码

如果访问令牌终结点的请求成功,用户将被重定向到重定向 URL,其中包含作为 GET 参数传递的授权令牌。

如果 token 终结点的请求成功,则响应代码为 200,并且响应正文中包含 access_token,可用于对 API 调用进行身份验证。

错误响应代码

返回到重定向 URL 的错误通过返回的 GET 参数可识别:error=1。以下是可能的错误消息:

  • App key 无效。
  • 签名无效。
  • App key 不能为空。
  • 用户未授予应用程序权限。