aurmil / slim3-skeleton-users
A Slim Framework 3 application skeleton with users authentication through Sentinel
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 2
Open Issues: 0
Type:project
Requires
- php: >=7.0.0
- ext-json: *
- akrabat/rka-slim-session-middleware: ^2.0
- cartalyst/sentinel: 2.0.*
- egulias/email-validator: ^2.1
- illuminate/database: ^5.4
- illuminate/events: ^5.4
- monolog/monolog: ^1.21
- respect/validation: ^1.1
- roave/security-advisories: dev-master
- slim/csrf: ^0.8.1
- slim/flash: ^0.2.0
- slim/slim: ^3.5
- slim/twig-view: ^2.2
- swiftmailer/swiftmailer: ^6.0
- symfony/http-foundation: ^3.2
- symfony/yaml: ^3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.12
- phpmd/phpmd: @stable
- squizlabs/php_codesniffer: *
- symfony/var-dumper: ^3.4
This package is auto-updated.
Last update: 2024-12-16 04:37:38 UTC
README
⚠️ WORK IN PROGRESS 🚧
Slim 3 Skeleton with users authentication
What's included?
- My own Slim 3 app skeleton
- Cartalyst Sentinel v2 + illuminate/database v5 + illuminate/events v5 + symfony/http-foundation v3
- Respect Validation v1 + egulias/email-validator v2
Installation and usage
I invite you to read first the short documentation I wrote for my app skeleton.
Required: PHP 7 and Composer
Run the following command, replacing [your-project-name]
with the name of the folder you want to create.
composer create-project aurmil/slim3-skeleton-users [your-project-name]
.htaccess
file, Web server choice, virtual host, AllowOverride All
, var
folder permissions... please refer to the main documentation.
Database:
- Create a MySQL database, a user with permissions on it and put these informations in
db.yaml
configuration file - Execute the correct MySQL schema creation file that is in the
vendor/cartalyst/sentinel/schema
according to your MySQL version - Execute the SQL files that are in the
sql
folder
SwiftMailer and emails
Unlike in the main app skeleton, SwiftMailer usage is required and must be configured in swiftmailer.yaml
configuration file.
Emails sent to users for account activation when creating a new account (if this option is active) or for password reset are HTML emails. HTML content of these emails is in templates/emails
folder.
Users authentication
In security.yaml
configuration file, you can enable or disable 2 options:
- "remember me" checkbox on login form
- email confirmation sending when creating a new account
Users access to routes is controlled by middlewares AllowOnlyGuests
and AllowOnlyLoggedUsers
applied to routes in routes.php
.
To do
- Unit tests (need help on this)
- See this question
- Password guidelines (length, strength, ...) => only length ? mb_strlen
- Must be configurable
- Use on signup, reset-password and change-password
- See this repo or this one
- JS: https://css-tricks.com/password-strength-meter/
- UUID
- Add UUID to users
- Use them in URL like activate account and reset password
- See this issue and the wiki
- Back office
- admin group, admin users
- allow admin users to log in and manage groups + users
- possible to log in on front office and back office separately at the same time?
License
The MIT License (MIT). Please see License File for more information.