> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ripio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Authentication

> How to generate an authentication token for the On/Off Ramp Widget.

### Generate authentication token

This service provides an access JWT token for the user to use the On Ramp Widget.

Endpoint: `http://b2b-widget-onramp-api.ripio.com/api/v1/auth`

> **Sandbox:**: `https://b2b-widget-onramp-api.sandbox.ripio.com/api/v1/auth`

Method: `POST`

Parameters:

| Parameter  | Type     | Description                                                                                              |
| ---------- | -------- | -------------------------------------------------------------------------------------------------------- |
| `username` | *string* | The username is composed of a concatenation of `client_id` + “`:`" + `external_ref` + “`:`" + `address`. |
| `password` | *string* | The password is the `client_secret`                                                                      |

*Disclaimer*:

* `external_ref`: **UUID** v4 that represents the user logged into your system. It must be a unique and unrepeatable identifier of a user of your system ([Read more about UUID](https://developer.mozilla.org/en-US/docs/Glossary/UUID) and try using [generator](https://www.uuidgenerator.net/)). This value is then used in the request for approval of a purchase transaction or when reporting the result of a transaction. (see [Webhooks](/ramps-api/webhooks/introduction)). In the documentation we refer to this value as external\_ref.
* `address`: **(Required)** A string that represents the blockchain address or wallet identifier for the user. For off-ramp operations, use the same address as used in on-ramp.

Request:

```bash theme={null}
curl \
--location --request POST 'http://b2b-widget-onramp-api.ripio.com/api/v1/auth' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=<client_id>:<external_ref>:<address>' \
--data-urlencode 'password=<client_secret>'
```

Example:

```bash theme={null}
curl \
--location --request POST 'http://b2b-widget-onramp-api.ripio.com/api/v1/auth' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'username=<client_id>:USER_1111:0x05946b0d5E413e45069BeC923004F9A3c8F70C2C' \
--data-urlencode 'password=<client_secret>'
```

Response:

```json theme={null}
{
    "succeed": true,
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXNzaW9uIjoiMThhYjZkNmM4ZDk4NWE5Y2M4N2IwMTcyN2ExMWYwOTQ4YzJmNGUxYzQ0ODEzZTZhNDU0MzcxYTg1NzY3YjE5OSIsImV4cCI6MTcwODI5ODMzM30.4aRUEXLkUs3jf-DYMcH8claUuDKfc8qbTjW6JzpBTjI",
    "token_type": "bearer"
}
```
