{"id":15063307,"url":"https://github.com/knplabs/rad-user","last_synced_at":"2025-10-04T22:32:00.336Z","repository":{"id":24763642,"uuid":"28176796","full_name":"KnpLabs/rad-user","owner":"KnpLabs","description":"Simply handle password encryption and salt generation.","archived":true,"fork":false,"pushed_at":"2022-09-23T13:25:31.000Z","size":58,"stargazers_count":5,"open_issues_count":4,"forks_count":3,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-12-16T17:53:02.451Z","etag":null,"topics":["php","rad","symfony-bundle"],"latest_commit_sha":null,"homepage":"http://knplabs.com","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KnpLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-18T09:25:03.000Z","updated_at":"2024-03-28T16:39:38.000Z","dependencies_parsed_at":"2022-07-14T00:30:42.412Z","dependency_job_id":null,"html_url":"https://github.com/KnpLabs/rad-user","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnpLabs%2Frad-user","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnpLabs%2Frad-user/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnpLabs%2Frad-user/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KnpLabs%2Frad-user/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KnpLabs","download_url":"https://codeload.github.com/KnpLabs/rad-user/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235321058,"owners_count":18971238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["php","rad","symfony-bundle"],"created_at":"2024-09-24T23:54:48.942Z","updated_at":"2025-10-04T22:31:55.073Z","avatar_url":"https://github.com/KnpLabs.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DEPRECATED\nUnfortunately we decided to not maintain this project anymore ([see why](https://knplabs.com/en/blog/news-for-our-foss-projects-maintenance)).\nIf you want to mark another package as a replacement for this one please send an email to [hello@knplabs.com](mailto:hello@knplabs.com).\n\nRapid Application Development : User\n====================================\nA **Symfony bundle** to simply handle password encryption and salt generation\n\n[![Build Status](https://travis-ci.org/KnpLabs/rad-user.svg?branch=master)](https://travis-ci.org/KnpLabs/rad-user)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/KnpLabs/rad-user/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/KnpLabs/rad-user/?branch=master)\n[![Latest Stable Version](https://poser.pugx.org/knplabs/rad-user/v/stable)](https://packagist.org/packages/knplabs/rad-user) [![Total Downloads](https://poser.pugx.org/knplabs/rad-user/downloads)](https://packagist.org/packages/knplabs/rad-user) [![Latest Unstable Version](https://poser.pugx.org/knplabs/rad-user/v/unstable)](https://packagist.org/packages/knplabs/rad-user) [![License](https://poser.pugx.org/knplabs/rad-user/license)](https://packagist.org/packages/knplabs/rad-user)\n\n# Official maintainers:\n\n* [@Einenlum](https://github.com/Einenlum)\n\n# Installation\n\n```bash\ncomposer require knplabs/rad-user:~2.0\n```\n\n```php\nclass AppKernel\n{\n    function registerBundles()\n    {\n        $bundles = array(\n            //...\n            new Knp\\Rad\\User\\Bundle\\UserBundle(),\n            //...\n        );\n\n        //...\n\n        return $bundles;\n    }\n}\n```\n\n# Usages\n\n## I want to auto-generate my user salt\n\n\u003e The salt feature is deprecated since PHP 5.5 and BCrypt usage. Please upgrade your version of PHP and use BCrypt.\n\nYour User model should implement the `Knp\\Rad\\User\\HasSalt` interface.\n\n```php\n\nnamespace App\\Entity;\n\nuse Doctrine\\ORM\\Mapping as ORM;\nuse Knp\\Rad\\User\\HasSalt;\n\n/**\n * @ORM\\Entity\n */\nclass User implements HasSalt\n{\n    use HasSalt\\HasSalt; //You can also use this trait\n\n    /**\n     * @ORM\\Id\n     * @ORM\\GeneratedValue\n     * @ORM\\Column(type=\"integer\")\n     */\n    private $id;\n\n    /**\n     * @ORM\\Column\n     */\n    private $salt;\n}\n```\n\nNow, before your user is inserted into your database, the salt will be auto-generated.\n\n## I want to auto-generate my user password\n\nYour User model should implement the `Knp\\Rad\\User\\HasInitialPassword` interface.\n\n```php\n\nnamespace App\\Entity;\n\nuse Doctrine\\ORM\\Mapping as ORM;\nuse Knp\\Rad\\User\\HasInitialPassword;\n\n/**\n * @ORM\\Entity\n */\nclass User implements HasInitialPassword\n{\n    use HasInitialPassword\\HasInitialPassword; // You can also use this trait\n\n    /**\n     * @ORM\\Id\n     * @ORM\\GeneratedValue\n     * @ORM\\Column(type=\"integer\")\n     */\n    private $id;\n\n    /**\n     * @ORM\\Column\n     */\n    private $password;\n}\n```\n\nNow, before your user is inserted or updated into your database, then the plain password will be automaticly generated.\n\n## I want to auto-encode my user password\n\nYour User model should implement the `Knp\\Rad\\User\\HasPassword` interface.\n\n```php\n\nnamespace App\\Entity;\n\nuse Doctrine\\ORM\\Mapping as ORM;\nuse Knp\\Rad\\User\\HasPassword;\n\n/**\n * @ORM\\Entity\n */\nclass User implements HasPassword\n{\n    use HasPassword\\HasPassword; // You can also use this trait\n\n    /**\n     * @ORM\\Id\n     * @ORM\\GeneratedValue\n     * @ORM\\Column(type=\"integer\")\n     */\n    private $id;\n\n    /**\n     * @ORM\\Column\n     */\n    private $password;\n}\n```\n\nNow, before your user is inserted or updated into your database, if you have set the attribute 'plainPassword', then the password will be automaticly generated.\n\n# WARNING\n\nThe `Knp\\Rad\\User\\HasPassword\\HasPassword` trait use the `Knp\\Rad\\User\\HasInitialPassword\\HasInitialPassword` trait. So don't use both into the same class or you will have a method conflict.\n\n# Some tips\n\n## Using with MongoDB or CouchDB Object Document Mapper\n\nThe knp/rad-user library is also compatible with MongoDB and CouchDB\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknplabs%2Frad-user","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknplabs%2Frad-user","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknplabs%2Frad-user/lists"}