leafs / auth
Leaf PHP auth helper
Fund package maintenance!
Open Collective
leafsphp
Installs: 11 692
Dependents: 6
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 5
Open Issues: 2
Requires
- leafs/date: *
- leafs/db: *
- leafs/form: *
- leafs/http: *
- leafs/password: *
- leafs/session: *
Requires (Dev)
- leafs/alchemy: ^1.0
- pestphp/pest: ^1.0 | ^2.0
README
Leaf Auth v2
Leaf auth is a simple but powerful module which comes with powerful functions for handling all your authentication needs.
v2 comes with tons of fixes, improvements and upgrades. Running on top of leaf db v2, it also has support for other database types like PostgreSQL, Sqlite and many more.
Installation
You can easily install Leaf using Composer.
composer require leafs/auth
Or with leaf db
leaf install auth
Basic Usage
After installing leaf auth, you need to connect to your database. v2 presents additional ways to achieve this.
connect
The connect method allows you to pass in your database connection parameters directly to leaf auth.
auth()->connect('127.0.0.1', 'dbname', 'username', 'password');
autoConnect
This method creates a database connection using your env variables.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=LEAF_DB_NAME DB_USERNAME=LEAF_DB_USERNAME DB_PASSWORD=
And call autoConnect
in your app.
auth()->autoConnect();
db connection (v2 only)
Leaf auth now allows you to directly pass a PDO connection into leaf auth. This allows you to share your connection with leaf auth and avoid multiple connections.
$auth = new Leaf\Auth; $auth->dbConnection($pdoConnecction);
This also means that you can share you leaf db v2 connection with leaf auth like this:
$auth = new Leaf\Auth; $auth->dbConnection($db->connection());
Leaf db (auth v2 + leaf 3 only)
If you are using leaf auth in a leaf 3 app, you will have access to the auth
global as shown in some of the above connections. Along with this, if you already have a leaf db connection, you no longer need to explicitly connect to your database. Leaf auth searches for a leaf db instance and connects to it automatically.
Note that this only works in a leaf 3 app and only if you already have a leaf db connection.
<?php db()->connect('127.0.0.1', 'dbname', 'username', 'password'); // you can use auth straight away without any connect auth()->login(...);
📚 Auth methods
After connecting your db, you can use any of the methods below.
WIP: This page will be updated
⚡️ Funtional Mode
When using leaf auth in a leaf 3 app, you will have access to the auth
, guard
, hasAuth
and sessionUser
globals.
💬 Stay In Touch
📓 Learning Leaf 3
- Leaf has a very easy to understand documentation which contains information on all operations in Leaf.
- You can also check out our youtube channel which has video tutorials on different topics
- We are also working on codelabs which will bring hands-on tutorials you can follow and contribute to.
😇 Contributing
We are glad to have you. All contributions are welcome! To get started, familiarize yourself with our contribution guide and you'll be ready to make your first pull request 🚀.
To report a security vulnerability, you can reach out to @mychidarko or @leafphp on twitter. We will coordinate the fix and eventually commit the solution in this project.
🤩 Sponsoring Leaf
Your cash contributions go a long way to help us make Leaf even better for you. You can sponsor Leaf and any of our packages on open collective or check the contribution page for a list of ways to contribute.
And to all our existing cash/code contributors, we love you all ❤️