Flexible user registration and authentication module for Yii3

This package's canonical repository appears to be gone and the package has been frozen as a result.

dev-main / 1.0.x-dev 2023-07-17 19:16 UTC

This package is auto-updated.

Last update: 2024-01-17 20:21:26 UTC


README

68747470733a2f2f6c68332e676f6f676c6575736572636f6e74656e742e636f6d2f65685354506e5871726b6b304d33552d5550436a4330667479394b366c67796b4b32574f5541326e5548703867496b526a65544e387a385341426c6b766376522d39504972626f7849765047756a50675765624c51654848675837794c556f7846536475695a72546f6736576f5a4c694176716354523151545056526d6e733274596a414370703745513d7732343030 68747470733a2f2f63646e342e69636f6e66696e6465722e636f6d2f646174612f69636f6e732f736d616c6c2d6e2d666c61742f32342f757365722d3531322e706e67

Flexible user registration and authentication module for Yii3.


Project

In this link you will find the lists of tasks to implement: task-list

Installation

Yiisoft application template yiisoft/app.

composer create-project --prefer-dist --stability=dev yiisoft/app <your project>
cd <your project>
composer require yii-tools/user:@dev yii-tools/flowbite-asset:^1.0

Install your driver for the database, for example sqlite.

cd <your project>
composer require yiisoft/db-sqlite:^1.0

Configuration

If you want to customize yii-tools/user, read the docs.

Directory structure

root
├── config                              Configuration files.
│   └── common                          Common configuration files.
|       └── param                       Common parameters configuration file.
│       └── yii-tools-user.php          User module configuration file.
│       └── yiisoft-translator.php      Translator configuration file.
│   └── console                         Console configuration files.
│       └── param                       Console parameters configuration file.
│   └── web                             Web configuration files.
│       └── param                       Web parameters configuration file.
│       └── yiisoft-auth.php            Authentication configuration file.
│       └── yiisoft-cookies.php         Cookies configuration file.
├── src                                 Application source code.
│   └── UserModule.php                  User module class.
│   └── UserModuleInterface.php         User module interface class.
│   └── Framework                       Framework classes.
│       └── Asset                       Asset classes.
|       └── Definition                  Definition classes.
│       └── Migration                   Migration classes.
│       └── Repository                  Repository classes.
│       └── Service                     Service classes.
│           └── resource                Resource files.
│               └── asset               Custom asset files.
│               └── mailer              Mailer files.
│               └── message             Message files translation.
│   └── Helper                          Helper classes.
│   └── Model                           Model classes.
│   └── Repository                      Repository interface classes.
│   └── Service                         Service classes.
│   └── UseCase                         Use case classes with vertical slices.
│       └── AdminManagement             Classes for function admin management.
│       └── BlockByAdmin                Classes for function block by admin.
│       └── Confirmation                Classes for function confirmation.
│       └── ConfirmationByAdmin         Classes for function confirmation by admin.
│       └── DeleteByAdmin               Classes for function delete by admin.
│       └── EmailChange                 Classes for function email change.
│       └── EmailStrategy               Classes for function email strategy.
│       └── Login                       Classes for function login.
│       └── Logout                      Classes for function logout.
│       └── PasswordRequest             Classes for function password request.
│       └── PasswordReset               Classes for function password reset.
│       └── ProfileUpdate               Classes for function profile update.
│       └── Registration                Classes for function registration.
│       └── ResendConfirmation          Classes for function resend confirmation.
│       └── UnblockByAdmin              Classes for function unblock by admin.
│       └── UpdateByAdmin               Classes for function update by admin.
├── codeception.yml                 Codeception configuration.
├── composer.json                   Composer configuration.
├── tailwind.config.js              Tailwind CSS configuration.

Run command console

./yii

Run migration

Application template:

./yii m:u

Using PHP built-in server

php -S 127.0.0.1:8080 -t public

Wait till it is up, then open the following URL in your browser

http://localhost:8080

Includes the following features:

  • User module:
    • [/user/login] - Display login form.
    • [/user/logout] - Log the user out.
    • [/user/confirm[/{id}/{token}]] - Confirms a user (requires id and token query params).
    • [/user/profile] - Displays profile form.
    • [/user/register] - Displays registration form.
    • [/user/request] - Displays recovery request form.
    • [/user/resend] - Displays resend form.
    • [/user/reset[/{id}/{token}]] - Displays password reset form (requires id and token query params).
    • [/user/email/change] - Displays email change form.
    • [/user/email/attempt[/{id}/{token}]] - Confirm email change (requires id and token query params).

Note: check the directory /runtime/mail, the emails are stored in it.

Testing

Check the documentation testing to learn about testing.

CI status

Total Downloads build codecov static analysis type-coverage StyleCI

License

The MIT License (MIT). Please see License File for more information.

Our social networks

Twitter