Authentication with Username and Password
This approach requires a username and password to generate an access and refresh token.
Authentication process
The process begins by looking up the user in the database. Once the user has successfully been found, it checks the user role for an affiliate id. An access and refresh token are then created with an expiration time.
Curl Example
curl --header "Content-Type: application/json" \ --request POST \ --data '{"username": "user_name", "password": "password"}' \ https://quinix.byteconnect.us/auth
Python Example
import requests
from os import getenv
username = getenv("username")
password = getenv("password")
body = {"username" : username, "password" : password}
url = getenv("bytefederal_api_url")
request = requests.post(f"{url}/auth", json=body)
response = request.json()
The code will return:
{"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c", "refresh_token": "test_refresh_token"}
NodeJS example
async function UserLogin() {
const username = process.env.USERNAME;
const password = process.env.PASSWORD;
const bodyData = {
"username": username,
"password": password
}
const url = `${process.env.BYTECONNECTURL}/auth`;
const request = await fetch(url, {
method: "POST",
body=JSON,stringify(bodyData),
headers: {
"Content-Type": "application/json"
}
}
);
const response = await request.json();
console.log(response);
}
HTTP Codes
200
Returns a JSON encoded response of an access token and an refresh token.
401
Username or password was invalid.