]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - app/config/security.yml
Add RSS tags feeds
[github/wallabag/wallabag.git] / app / config / security.yml
index c1b0fb7782df748a907b5209fc885cb96a733574..e14a0bd19b1924ea34d6f85e787b2c6c7c290948 100644 (file)
@@ -1,59 +1,69 @@
 security:
     encoders:
-        Wallabag\CoreBundle\Entity\Users:
-            algorithm:        sha1
-            encode_as_base64: false
-            iterations:       1
+        FOS\UserBundle\Model\UserInterface: sha512
 
     role_hierarchy:
-        ROLE_ADMIN:       ROLE_USER
+        ROLE_ADMIN: ROLE_USER
         ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
 
     providers:
         administrators:
-            entity: { class: WallabagCoreBundle:Users, property: username }
+            entity:
+                class: WallabagUserBundle:User
+                property: username
+        fos_userbundle:
+            id: fos_user.user_provider.username
 
     # the main part of the security, where you can set up firewalls
     # for specific sections of your app
     firewalls:
-        #wsse_secured:
-        #    pattern:   /api/.*
-        #    wsse:      true
+        # disables authentication for assets and the profiler, adapt it according to your needs
+        dev:
+            pattern: ^/(_(profiler|wdt)|css|images|js)/
+            security: false
+
+        oauth_token:
+            pattern: ^/oauth/v2/token
+            security: false
+
+        api:
+            pattern: /api/.*
+            fos_oauth: true
+            stateless: true
+            anonymous: true
+
         login_firewall:
-            pattern:    ^/login$
+            pattern: ^/login$
             anonymous:  ~
 
-#        secured_area:
-#            pattern:    ^/
-#            anonymous: ~
-#            form_login:
-#                login_path:                     /login
-#
-#                use_forward:                    false
-#
-#                check_path:                     /login_check
-#
-#                post_only:                      true
-#
-#                always_use_default_target_path: true
-#                default_target_path:            /
-#                target_path_parameter:          redirect_url
-#                use_referer:                    true
-#
-#                failure_path:                   null
-#                failure_forward:                false
-#
-#                username_parameter:             _username
-#                password_parameter:             _password
-#
-#                csrf_parameter:                 _csrf_token
-#                intention:                      authenticate
-#
-#            logout:
-#                path:   /logout
-#                target: /
+        secured_area:
+            pattern: ^/
+            form_login:
+                provider: fos_userbundle
+                csrf_token_generator: security.csrf.token_manager
+
+            anonymous: true
+            remember_me:
+                secret: "%secret%"
+                lifetime: 31536000
+                path: /
+                domain: ~
+
+            logout:
+                path:   /logout
+                target: /
 
     access_control:
         - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }
         - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: /(unread|starred|archive).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: /tags/(.*).xml$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/share, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+        - { path: ^/settings, roles: ROLE_SUPER_ADMIN }
+        - { path: ^/annotations, roles: ROLE_USER }
+        - { path: ^/users, roles: ROLE_SUPER_ADMIN }
         - { path: ^/, roles: ROLE_USER }