leafs/auth

Leaf PHP auth helper

v2.1.3 2022-02-17 22:28 UTC

This package is auto-updated.

Last update: 2022-05-06 11:13:01 UTC


README



68747470733a2f2f6c6561667068702e6e65746c6966792e6170702f6173736574732f696d672f6c656166332d6c6f676f2e706e67

Leaf Auth v2



Latest Stable Version Total Downloads License

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.

Code contributors


Michael Darko

🤩 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 ❤️

Cash contributors


Aaron Smith

Peter Bogner

Vano

Casprine

🤯 Links/Projects