Skip to main content

Sign in with Coinbase OAuth2 Reference

Authorize

GET https://login.coinbase.com/oauth2/auth

ParameterDescription
client_idClient ID you received after registering your application.
response_typeOnly current option is code
redirect_uri OptionalURL in your app where users will be sent after authorization (see below). This value needs to be URL encoded. If left out, your application’s first redirect URI will be used by default.
scope OptionalComma separated list of permissions (scopes) your application requests access to. Required scopes are listed under endpoints in the API reference
state OptionalAn unguessable random string to protect against cross-site request forgery attacks. Must be at least 8 characters long. Read more about security

Sign in with Coinbase supports many platform specific parameters (in addition to common OAuth2 parameters) which can be used to customize the user experience.

ParameterDescription
layout OptionalFor logged out users, login view is shown by default. You can show the sign up page instead with value signup
referral OptionalEarn a referral bonus from new users who sign up via OAuth2. Value needs to be set to developer's referral ID (username). Read more.

Token

POST https://login.coinbase.com/oauth2/token

The token endpoint can be used to get a new access token after user authorization (grant_type=authorization_code) or to refresh an access token (grant_type=refresh_token).

Parameters to Request New Access Tokens

Request

ParameterDescription
grant_typeRequired Value authorization_code
codeRequired Value which was received from redirect uri
client_idRequired Client ID you received after registering your application.
client_secretRequired Client secret you received after registering your application.
redirect_uriRequired Your application's redirect URI

Response

ParameterDescription
access_tokenNew active access token
token_typeValue bearer
expires_inAccess token expiration in seconds
refresh_tokenRefresh token which can be used to refresh expired access token
scopeList of permissions applied to given access token

Parameters to Refresh Access Tokens

Request

ParameterDescription
grant_typeRequired Value refresh_token
refresh_tokenRequired Most recent refresh token
client_idRequired Client ID you received after registering your application.
client_secretRequired Client secret you received after registering your application.

Response

ParameterDescription
access_tokenNew active access token
token_typeValue bearer
expires_inAccess token expiration in seconds
refresh_tokenNew refresh token which can be used to refresh expired access token
scopeList of permissions applied to given access token

Revoke

POST https://login.coinbase.com/oauth2/revoke

Active access tokens can be revoked at any time. This request needs to be authenticated like any other API request (with the access_token parameter, or with the Authentication header and bearer token). This request also requires the client ID and secret to be passed in.

A 200 OK is returned for both successful and unsuccessful requests. This can be useful, for example, when implementing log-out feature.

ParameterDescription
tokenActive access token
client_idRequired Client ID you received after registering your application.
client_secretRequired Client secret you received after registering your application.

Was this helpful?