tamimattafi/backend-demo

Endpoints: Login

Opened this issue · 0 comments

Request

In order for a user that is already registered to use the server, they must provide credentials that point to an already existing user in the database.

The request should look like this:

{
    "identifier":"email@gmail.com",
    "password":"SomePassword12345"
}

Where identifier is either email or username

Validation

Login form must be validated before querying the database for existing users. It should follow the following rules:

Username

Size: Larger than 4
Format: No spaces, All characters are allowed, at least 3 alphabetical letters

Email

Size: Undetermined
Format: Conforms to the universal email format

Password

Size: Larger or equal to 8
Format: Must contain at least one digit, and one alphabetical letter

Response

Login response must be one of the following:

Success

A JWT that will be used in Authorization Header and has an expiration date.
The raw form should look like this:

{ 
 "token":"KDOASKDOPKASDLKASDOASIKDOASKDOPKAKKDOASKDOPKASDLKASDOASIKDKKDOASKDOPKASDLKASDOASIKDKKDOASKDOPKASDLKASDOASIKDKKDOASKDOPKAOASKDOPKASDLKASDOASOASKDOPKAIKDKKDOASKDOPKASDLKASDOAOASKDOPKASIKDKKDOASKDOASKDOPKAOPKASDLKASDOASIKDKKDOASKDOPKASDLKASDOASIKDKKDOASKDOPKASDLKASDOASIKDKKDOASKDOPKASDLKASDOASIKDK"
}

Failure

A message that indicates the error such as validation or user doesn't exist.

{
    "error": "Invalid Field"
    "message": "Password is uncorrect"
}