Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 18 additions & 12 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,40 @@
# Shield Documentation

## What is Shield?
## What is Shield? 🤔

Shield is the official authentication and authorization framework for CodeIgniter 4. While
it does provide a base set of tools that are commonly used in websites, it is
designed to be flexible and easily customizable.

### Primary Goals
### Primary Goals 🥅

The primary goals for Shield are:

1. It must be very flexible and allow developers to extend/override almost any part of it.
2. It must have security at its core. It is an auth lib after all.
3. To cover many auth needs right out of the box, but be simple to add additional functionality to.

### Important Features
### Important Features 🌠

* Session-based authentication (traditional ID/Password with Remember-me)
* Stateless authentication using Personal Access Tokens
* Optional Email verification on account registration
* Optional Email-based Two-Factor Authentication after login
* Magic Link Login when a user forgets their password
* Flexible Groups-based access control (think Roles, but more flexible)
* Users can be granted additional Permissions
* **Session-based Authentication** (traditional **ID/Password** with **Remember-me**)
* **Stateless Authentication** using **Access Token**, **HMAC SHA256 Token**, or **JWT**
* Optional **Email verification** on account registration
* Optional **Email-based Two-Factor Authentication** after login
* **Magic Link Login** when a user forgets their password
* Flexible **Group-based Access Control** (think Roles, but more flexible), and users can be granted additional **Permissions**
* A simple **Auth Helper** that provides access to the most common auth actions
* 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
* Highly configurable
* **User Entity** and **User Provider** (`UserModel`) ready for you to use or extend
* Built to extend and modify
* Easily extendable controllers
* All required views that can be used as is or swapped out for your own

### License
### License 📑

Shield is licensed under the MIT License - see the [LICENSE](https://github.com/codeigniter4/shield/blob/develop/LICENSE) file for details.

### Acknowledgements
### Acknowledgements 🙌🏼

Every open-source project depends on it's contributors to be a success. The following users have
contributed in one manner or another in making Shield:
Expand Down