security:
  # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers

  encoders:
    App\Entity\User:
      algorithm: auto

  role_hierarchy:
    ROLE_USER: ROLE_USER
    ROLE_ADMIN: ROLE_USER


  providers:
    user_provider:
      entity:
        class: App\Entity\User
        property: email

  firewalls:
    dev:
      pattern: ^/(_(profiler|wdt)|css|images|js)/
      security: false

    main:
      remember_me:
        secret:   '%kernel.secret%'
        lifetime: 604800 # 1 week in seconds
        path:     /
      anonymous: lazy
      provider: user_provider
      guard:
        authenticators:
          - App\Security\FormAuthenticator
      logout:
        path: logout
        # where to redirect after logout
        target: login

      # activate different ways to authenticate
      # https://symfony.com/doc/current/security.html#firewalls-authentication

      # https://symfony.com/doc/current/security/impersonating_user.html
      # switch_user: true

  # Easy way to control access for large sections of your site
  # Note: Only the *first* access control that matches will be used
  access_control:
  # - { path: ^/admin, roles: ROLE_ADMIN }
  # - { path: ^/profile, roles: ROLE_USER }
