|
1 | 1 | # Shield Documentation |
2 | 2 |
|
3 | | -## What is Shield? |
| 3 | +## What is Shield? 🤔 |
4 | 4 |
|
5 | 5 | Shield is the official authentication and authorization framework for CodeIgniter 4. While |
6 | 6 | it does provide a base set of tools that are commonly used in websites, it is |
7 | 7 | designed to be flexible and easily customizable. |
8 | 8 |
|
9 | | -### Primary Goals |
| 9 | +### Primary Goals 🥅 |
10 | 10 |
|
11 | 11 | The primary goals for Shield are: |
12 | 12 |
|
13 | 13 | 1. It must be very flexible and allow developers to extend/override almost any part of it. |
14 | 14 | 2. It must have security at its core. It is an auth lib after all. |
15 | 15 | 3. To cover many auth needs right out of the box, but be simple to add additional functionality to. |
16 | 16 |
|
17 | | -### Important Features |
| 17 | +### Important Features 🌠 |
18 | 18 |
|
19 | | -* Session-based authentication (traditional ID/Password with Remember-me) |
20 | | -* Stateless authentication using Personal Access Tokens |
21 | | -* Optional Email verification on account registration |
22 | | -* Optional Email-based Two-Factor Authentication after login |
23 | | -* Magic Link Login when a user forgets their password |
24 | | -* Flexible Groups-based access control (think Roles, but more flexible) |
25 | | -* Users can be granted additional Permissions |
| 19 | +* **Session-based Authentication** (traditional **ID/Password** with **Remember-me**) |
| 20 | +* **Stateless Authentication** using **Access Token**, **HMAC SHA256 Token**, or **JWT** |
| 21 | +* Optional **Email verification** on account registration |
| 22 | +* Optional **Email-based Two-Factor Authentication** after login |
| 23 | +* **Magic Link Login** when a user forgets their password |
| 24 | +* Flexible **Group-based Access Control** (think Roles, but more flexible), and users can be granted additional **Permissions** |
| 25 | +* A simple **Auth Helper** that provides access to the most common auth actions |
| 26 | +* Save initial settings in your code, so it can be in version control, but can also be updated in the database, thanks to our [Settings](https://github.com/codeigniter4/settings) library |
| 27 | +* Highly configurable |
| 28 | +* **User Entity** and **User Provider** (`UserModel`) ready for you to use or extend |
| 29 | +* Built to extend and modify |
| 30 | + * Easily extendable controllers |
| 31 | + * All required views that can be used as is or swapped out for your own |
26 | 32 |
|
27 | | -### License |
| 33 | +### License 📑 |
28 | 34 |
|
29 | 35 | Shield is licensed under the MIT License - see the [LICENSE](https://github.com/codeigniter4/shield/blob/develop/LICENSE) file for details. |
30 | 36 |
|
31 | | -### Acknowledgements |
| 37 | +### Acknowledgements 🙌🏼 |
32 | 38 |
|
33 | 39 | Every open-source project depends on it's contributors to be a success. The following users have |
34 | 40 | contributed in one manner or another in making Shield: |
|
0 commit comments