Auth Rest API #

Authentication requests are responsible for a user account. It provides creating an account, changing data about it, and access it.

In this article you can read about all these requests:

  1. auth/signup
  2. auth/login with password & username
  3. auth/login with auth_key
  4. auth/login with accesstoken
  5. auth/getuserbyid
  6. auth/updateuser
  7. auth/logout
  8. auth/userlist

auth/signup #

Request for creating a new user account.

Request #

Request Method Content Type Request URL
POST Form Data https://gudhub.com/GudHub/auth/signup

It contains user object with standard registration information. The object "user" needs certain data to be created:

Property Type Description
fullname string contains full user name
password string contains user password
username string contains user email

Example: #

   user: {
      "fullname" : "Jon Jerry",
      "password" : "mypassword",
      "username" : "jon@gudhub.com"
   }

Response #

As a result you will get an object with all user data.

{
   "user_id" : 149,
   "accesstoken" : "hkpbqelu_jt-rxatjfvulzjgfj-qizjhunonbdto",
   "username" : "jon@gudhub.com",
   "fullname" : "Jon Jerry",
   "auth_key" : "jgjgGJHGgHGJGHJBGHJGG/DKJSL934394",
   "expirydate" : 1497912166008,
   "app_init" : 3444
}

Status Code #

Name Description
200 Ok user is registered
400 Bad Request incorrect request syntax
600 user with such name does not exist

auth/login with password & username #

There are two types of login requests. The first one is with the help of password and username. It contains password and username.

Request #

Request Method Content Type Request URL
POST Form Data https://gudhub.com/GudHub/auth/login

It contains password and username.

Property Type Description
password string user account password
login string user account login

Example: #

   password : mypassword
   login : johndow@gudhub.com

Response #

In return will be an object of user data.

{ 
   "accesstoken": "zjzvgiesfiifsdkhiilfkskd33u",
   "app_init": 26749,
   "auth_key": "bMfVNFzEQX3KjqbMQ+BhnVk",
   "avatar_128": "https://gudhub.com/avatars/1578_2208_128.jpg",
   "avatar_512": "https://gudhub.com/avatars/1578_2208_512.jpg",
   "expirydate": 1674256597882,
   "fullname": "John Dow",
   "user_id": 78,
   "username": "johndow@gudhub.com"
}

Status Code #

Name Description
200 Ok success
401 Unauthorized wrong login or password
711 incorrect login
712 incorect password

auth/login with authkey #

Request for login into an existing account.

Request #

Request Method Content Type Request URL
POST Form Data https://gudhub.com/GudHub/auth/login

It contains the auth key.

Property Type Description
auth_key string personal authentication key

Example: #

   auth_key:
   hIHIHIUioihsbdospklmzxnHsdlkiojojojisjdnjvkbiuoajdnwjnufosfjji0045456/==

Response #

As well as the first login request, this one will returns an object with user data.

{ 
   "accesstoken": "zjzvgiesfiifsdkhiilfkskd33u",
   "app_init": 26749,
   "auth_key": "bMfVNFzEQX3KjqbMQ+BhnVk",
   "avatar_128": "https://gudhub.com/avatars/1578_2208_128.jpg",
   "avatar_512": "https://gudhub.com/avatars/1578_2208_512.jpg",
   "expirydate": 1674256597882,
   "fullname": "John Dow",
   "user_id": 78,
   "username": "johndow@gudhub.com"
}

Status Code #

Name Description
000 Unauthorized wrong auth_key
200 Ok success

auth/login with token #

One more login request allows you to login by the valid user token.

But it can be used for one token only for 8 hours of its existence. After that, the token changes.

Request #

Request Method Content Type Request URL
POST Query params https://gudhub.com/GudHub/auth/login

This request only transmits an existing valid token.

Property Type Description
accesstoken string used to get access

Example: #

   token: thog-tayjf-.k-cbeapsebnqawkphhiny-ursyqsn

Response #

The current method returns an object with user data.

Note that this method returns data with a new access token that is valid for the next 8 hours.

{ 
   "accesstoken": "zjzvgiesfiifsdkhiilfkskd33u",
   "app_init": 26749,
   "auth_key": "bMfVNFzEQX3KjqbMQ+BhnVk",
   "avatar_128": "https://gudhub.com/avatars/1578_2208_128.jpg",
   "avatar_512": "https://gudhub.com/avatars/1578_2208_512.jpg",
   "expirydate": 1674256597882,
   "fullname": "John Dow",
   "user_id": 78,
   "username": "johndow@gudhub.com"
}

Status Code #

Name Description
200 Ok success login

auth/getuserbyid #

This get request allows to get the user by his/her ID. It is automatically called when the user clicks on Sharing button. In fact, it returns the users who have permission for the application in which the request was called.

Request #

Request Method Content Type Request URL
GET Query String Parameters https://gudhub.com/GudHub_Test/auth/getuserbyid

The request consists of a token and the ID of the user whose object will be retrieved.

Property Type Description
token string used to get access
id number ID of the user whose data are to be retrieved

Example: #

   token: thog-tayjf-.k-cbeapsebnqawkphhiny-ursyqsn
   id: 1578

Response #

In response, you will get the desired user, if his/her profile exists.

{
   "avatar_128": "https://gudhub.com/avatars/1578_9032_128.jpg",
   "avatar_512": "https://gudhub.com/avatars/1578_9032_512.jpg",
   "expirydate": 0,
   "fullname": "John Dow",
   "user_id": 1578,
   "username": "johndow@gudhub.com"
}

Status Code #

Name Description
200 Ok user is registered

auth/updateuser #

Request for updating data of the existing account.

Request #

Request Method Content Type Request URL
POST Form Data https://gudhub.com/GudHub/auth/updateuser

It contains token and user object.

Property Type Description
token string using for getting access
user object created user

Example: #

   Token: prijmtwlezsxxyromyzbx_eptm.etnkhaewwp-_y

   user:{
      "user_id" : 149,
      "fullname" : "Jon Jerry",
      "username" : "jon@gudhub.com",
      "avatar": "...",
      "app_init" : 3444
   }

Response #

In result will be updated user data.

{
   "user_id" : 149,
   "username" : "jon@gudhub.com",
   "fullname" : "Jon Jerry",
   "expirydate" : 0,
   "app_init" : 3445
}

Status Code #

Name Description
200 Ok success

auth/logout #

Request for signing out of the account.

Request #

Request Method Content Type Request URL
POST Form Data https://gudhub.com/GudHub/auth/logout

It contains only token.

Property Type Description
token string using for getting access

Example: #

   token:
   hkpbqelu_jt-rxatjfvulzjgfj-qizjhunonbdto

Response #

In reply will be a success message.

Logout OK for token: 
hkpbqelu_jt-rxatjfvulzjgfj-qizjhunonbdto

Status Code #

Name Description
200 logout is success

auth/userlist #

This request allows to get the list of users which have keyword matches. The keyword can contain any number of signs. The user list will be retrieved if it has at least three signs.

Request #

Request Method Content Type Request URL
GET Query String Parameters https://gudhub.com/GudHub_Test/auth/userlist

The current request sends token and keyword.

Property Type Description
token string allows to get the access
keyword string contains the string that will be used to find users for the list

Example: #

   token: thog-tayjf-.k-cbeapsebnqawkphhiny-ursyqsn
   keyword: john

Response #

In response, you will get an array of matched user objects.

[{
   "avatar_128": "https://gudhub.com/avatars/6832_128.jpg",
   "avatar_512": "https://gudhub.com/avatars/6832_512.jpg",
   "expirydate": 0,
   "fullname": "John Dow",
   "user_id": 1578,
   "username": "johndow@gudhub.com"
}]

Status Code #

Name Description
200 Ok user is registered
400 Bad Request incorrect request syntax