diff --git a/fastfony/identity-bundle/1.0/config/packages/fastfony_identity.yaml b/fastfony/identity-bundle/1.0/config/packages/fastfony_identity.yaml new file mode 100644 index 00000000..14d4fa1b --- /dev/null +++ b/fastfony/identity-bundle/1.0/config/packages/fastfony_identity.yaml @@ -0,0 +1,28 @@ +fastfony_identity: + user: + # Your custom User entity class extends Fastfony\IdentityBundle\Entity\Identity\User (optional) + #class: 'App\Entity\User' + #require_email_verification: true # Require email verification for new users (default: false) + role: + # Your custom Role entity class extends Fastfony\IdentityBundle\Entity\Identity\Role (optional) + #class: 'App\Entity\Role' + # Default role assigned to new users (if you want to assign one different from ROLE_USER) + #default_role: 'ROLE_ADMIN' + group: + # Your custom Group entity class extends Fastfony\IdentityBundle\Entity\Identity\Group (optional) + #class: 'App\Entity\Group' + login: + #default_method: 'login_link' # Default login method: 'form_login' or 'login_link' (default: 'form_login') + registration: + #enabled: true # Enable or disable user registration (default: false) + login_link: + #enabled: false # Enable or disable login via email link (default: true) + #email_subject: 'Your login link' # Subject of the email sent with the login link (text or translation key) + #limit_max_ask_by_minute: 3 # Maximum number of login link requests in one minute + request_password: + #email_subject: 'Reset your password' # Subject of the email sent with the password reset link (text or translation key) + #email_content: 'Click on the button below to reset your password.' # Content of the email sent with the password reset link (text or translation key) + #email_action_text: 'Reset my password' # Text of the action button in the email sent with the password reset link (text or translation key) + #lifetime: 900 # Lifetime of the password reset token in seconds (default: 900 seconds = 15 minutes) + #redirect_route: 'app_homepage' # Route to redirect to after a successful password reset + diff --git a/fastfony/identity-bundle/1.0/config/packages/mailer.yaml.dist b/fastfony/identity-bundle/1.0/config/packages/mailer.yaml.dist new file mode 100644 index 00000000..02a2555c --- /dev/null +++ b/fastfony/identity-bundle/1.0/config/packages/mailer.yaml.dist @@ -0,0 +1,4 @@ +framework: + mailer: + envelope: + sender: 'noreply@your-website.com' diff --git a/fastfony/identity-bundle/1.0/config/routes/fastfony_identity.yaml b/fastfony/identity-bundle/1.0/config/routes/fastfony_identity.yaml new file mode 100644 index 00000000..30b72a95 --- /dev/null +++ b/fastfony/identity-bundle/1.0/config/routes/fastfony_identity.yaml @@ -0,0 +1,2 @@ +fastfony_identity: + resource: "@FastfonyIdentityBundle/config/routes/all.yaml" diff --git a/fastfony/identity-bundle/1.0/manifest.json b/fastfony/identity-bundle/1.0/manifest.json new file mode 100644 index 00000000..0527316e --- /dev/null +++ b/fastfony/identity-bundle/1.0/manifest.json @@ -0,0 +1,38 @@ +{ + "bundles": { + "Fastfony\\IdentityBundle\\FastfonyIdentityBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "add-lines": [ + { + "file": "config/packages/stof_doctrine_extensions.yaml", + "content": " orm:\n default:\n timestampable: true\n", + "position": "after_target", + "target": "stof_doctrine_extensions:", + "warn_if_missing": true + }, + { + "file": "config/packages/security.yaml", + "content": " fastfony_identity_user_provider:\n entity:\n class: Fastfony\\IdentityBundle\\Entity\\Identity\\User # if you extend the User class, change this to your class\n property: email\n\n", + "position": "after_target", + "target": " providers:", + "warn_if_missing": true + }, + { + "file": "config/packages/security.yaml", + "content": "\n fastfony_identity:\n lazy: true\n provider: fastfony_identity_user_provider\n user_checker: Fastfony\\IdentityBundle\\Security\\UserChecker\n form_login:\n login_path: form_login\n check_path: form_login\n enable_csrf: true\n csrf_token_id: login\n form_only: true\n login_link:\n check_route: login_check\n signature_properties: [ id, email ]\n max_uses: 3\n entry_point: Fastfony\\IdentityBundle\\Security\\CustomEntryPoint\n remember_me:\n always_remember_me: true\n signature_properties: [ 'id', 'email', 'password' ]\n switch_user: true\n login_throttling:\n max_attempts: 3\n logout:\n path: /logout\n clear_site_data:\n - cookies\n - storage\n\n", + "position": "after_target", + "target": " security: false", + "warn_if_missing": true + }, + { + "file": "config/packages/security.yaml", + "content": " - { path: ^/secure-area/, roles: ROLE_USER } # Adjust as needed\n", + "position": "after_target", + "target": " access_control:", + "warn_if_missing": true + } + ] +} diff --git a/fastfony/identity-bundle/1.0/post-install.txt b/fastfony/identity-bundle/1.0/post-install.txt new file mode 100644 index 00000000..e005b2e9 --- /dev/null +++ b/fastfony/identity-bundle/1.0/post-install.txt @@ -0,0 +1,20 @@ +Fastfony/IdentityBundle is almost ready: + +1. A config/packages/fastfony_identity.yaml and a config/routes/fastfony_identity.yaml file has been created for you. + +2. The config/packages/security.yaml and config/packages/stof_doctrine_extensions.yaml files have been updated where the expected configuration lines were found; please verify these changes. + +3. Merge the content of config/packages/mailer.yaml.dist into your config/packages/mailer.yaml file and set your MAILER_DSN environment variable if it is not already done. + +4. Create the database schema: + + Option 1 - Generate and run migrations to create the database tables: + + php bin/console doctrine:migrations:diff + php bin/console doctrine:migrations:migrate + + Option 2 - Or without migrations, you can create the schema directly: + + php bin/console doctrine:schema:update --force + +Enjoy!