## Clafiya Recruitment Task
The task is to create a Laravel App - Laravel Passport Authentication api that validates a user's email address or phone number and password and returns the users data and passport tokens.
Laravel Passport provides a full OAuth2 server implementation for Laravel applications and is built on top of the League OAuth2 server that is maintained by Andy Millington and Simon Hamp.r.
As instructed, the API was written in Laravel (a PHP Framework), deployed on AWS EC2 instance, powered by Nginx HTTP server, and the database runs on Mysql database engine powered by AWS Relational Database System (RDS).
Authentication is the process of verifying the identity of a person or device. A common example is entering a
username
andpassword
when you log in to a website. Entering the correct login information lets the website know who you are and that it is actually you accessing the website.
This API uses OAuth2 Password Grant Type to authenticate users (Powered by Laravel Passport). It typically generates an access token using a given username and password.
Clone the repository to your local machine by running the terminal command below.
git clone repo-url
Create your a MySQL database and note down the required connection parameters. (DB Host, Username, Password, Name)
Navigate to the project root directory via terminal and run the following command.
composer install
Run the following command
cp .env.example .env
This should create an exact copy of the .env.example file. Name the newly created file .env and update it with your local environment variables (database connection info and others).
php artisan key:generate
php artisan migrate
php artisan passport:keys