https://github.com/richardmiruka/alx-backend-user-data
User data management, data privacy and security, Authentication and Authorization, sessions and REST API.
https://github.com/richardmiruka/alx-backend-user-data
authentication authentication-backend authorization cookies flask rest-api session-management sessionstorage
Last synced: about 1 month ago
JSON representation
User data management, data privacy and security, Authentication and Authorization, sessions and REST API.
- Host: GitHub
- URL: https://github.com/richardmiruka/alx-backend-user-data
- Owner: RichardMiruka
- License: mit
- Created: 2024-04-11T09:46:39.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-03T18:19:24.000Z (about 2 years ago)
- Last Synced: 2025-07-08T14:06:19.430Z (12 months ago)
- Topics: authentication, authentication-backend, authorization, cookies, flask, rest-api, session-management, sessionstorage
- Language: Python
- Homepage:
- Size: 53.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# alx-backend-user-data
User data management, data privacy and security, Authentication and Authorization, sessions and REST API.
# :book: ALX Backend User Data.
## :page_with_curl: Topics Covered
1. Personal Data.
2. Basic authentication.
3. Session authentication.
## :wrench: Project setup.
```bash
# Create project directory and readme.
mkdir ./alx-backend-user-data/
touch ./alx-backend-user-data/README.md
cd alx-backend-user-data
# Create repository.
git init
git add .
git commit -m 'first commit'
git remote add origin
git push
# Create gitignore file.
touch .gitignore
echo '*/__pycache__/
' > .gitignore
```
# :computer: Projects
## [0x00. Personal data](0x00-personal_data)
The project is about personal data and user management. The project required implementing;
* A log filter to obfuscate PII fields
* Encrypting passwords
* Checking the validity of an input password
* Authenticating to a database using environment variables.
### :wrench: Project setup.
```bash
# Create project directory and readme.
mkdir ./0x00-personal_data/
touch ./0x00-personal_data/README.md
cd 0x00-personal_data
```
> [:point_right: Go to project](0x00-personal_data)
## [0x01. Basic authentication](0x01-Basic_authentication)
The project involves learning about the authentication process and implementing a Basic Authentication on a simple API written in Python Flask Framework requiring knowledge in;
* REST API Authentication Mechanisms
* HTTP header Authorization
* Flask, and
* Base64 concepts.
### :wrench: Project setup.
```bash
# Create project directory and readme.
mkdir ./0x01-Basic_authentication/
touch ./0x01-Basic_authentication/README.md
cd 0x01-Basic_authentication
```
> [:point_right: Go to project](0x00-python_variable_annotations)
## [0x02. Session authentication](0x02-Session_authentication)
The project is about implementing a session authentication mechanism without installing any other module. The learning objectives of the project include;
* Understanding authentication, session authentication.
* Cookies, sending cookies, and parsing cookies.
### :wrench: Project setup.
```bash
# Create project directory and readme.
mkdir ./0x02-Session_authentication/
touch ./0x02-Session_authentication/README.md
cd 0x02-Session_authentication
```
> [:point_right: Go to project](0x02-Session_authentication)
# :man: Author and Credits.
This project was done by [SE. Richard Miruka](https://github.com/RichardMiruka). Feel free to get intouch with me;
:iphone: WhatsApp [+254700129706](https://wa.me/254700129706)
:email: Email [richardmiruka96@gmail.com](mailto:richardmiruka96@gmail.com)
:thumbsup: A lot of thanks to [ALX-Africa Software Engineering](https://www.alxafrica.com/) program for the project requirements.