* fix: upgrade goteo/benzina to 0.6 * feat: increase Nominatim cache TTL * fix: allow long addresses for territory data * fix: build project addresses from goteo 3 territory fields * fix: handle empty strings for video sources * fix: update project drafts deadline to 2026 * feat: split project description into 4 fields * feat: bump doctrine related dependencies * feat: bump symfony related dependencies * feat: make categories work on idOrSlug * fix: allow filtering on project descBrief property * fix: update constraints on project update to allow optional updates of properties * fix: update Projects test suite to new project shape * fix: order of DROP operations in migration Version20260813171902 * fix: move accounting balance and checkout to supports listeners to onFlush events * fix: bad order of filter safeguards * chore: code style by php-cs-fixer * fix: prevent uninitialized fields on api resource from breaking AccountingVoter * fix: small bug preventing code improvements on Accounting api resource * feat: add cover property on ProjectReward resource * feat: add cover property to Project resources * feat: use video cover for project cover * feat: add migration for property cover on project and rewards * fix: small improvements on UserOwned helpers * feat: add territory to project creation * feat: mark creation fields as required * feat: add CollaborationCandidacy resource * fix: update old validations access of new types * feat: add validation for charges targetting projects not in campaign * feat: validate new collaboration candicacies are to open collaborations * feat: prevent future object access issues in SameProjectRewardChargeValidator * fix: return void on succesfull delete operations * fix: force set of isFinite property * feat: allow to filter ProjectBudgetItem by type and deadline * feat: remove example values from .env * feat: add testing encryption keys * feat: make project in BudgetItem body required * feat: add testing encryption keys to actions * feat: add collaborations property to ProjectApiResource * feat: Update Users PATCH body (#246) * feat: move UserSignupDto to Dto\User namespace * fix: bad parsing of INSTR by ApiPlatform pagination layer * fix: make User resources be processed by dedicated update processor * fix: specify authentication usage of UserSignupDto::password property * feat: improve non-crawlable URI detection for ScoutService * feat: add "org" to Links with known organizations behind links * feat: map raw uri strings to full Link objects * fix: bad loading of existing user data in UserStateProcessor * feat: add NotExisting validator * feat: use NotExisting constraint on Users handle, email, Projects titles and Tipjar names * fix: check for existing node item in URI rel detection * fix: make app:oauth2-server:consent-client true by default * feat: bump league/oauth2-server-bundle to 1.2.2 * feat: add UserConverter decorator to have league/oauth2-server JWT's sub have User id instead of handle * fix: specify OAuth2 and separate server from client utilities * fix: make app_user_provider use ID instead of handle * feat: add explaining comment to doctrine_encryption.key_id * feat: add status to reward claims * feat: make default RewardClaim entity status in_pending * feat: add shorter check for ownership of projects * feat: allow to modify status of reward claims * feat: add shipping address to reward claims * fix: remove requirement of status in claim update op * fix: update filters and remove obsolete attributes from ProjectRewardClaim resource * feat: update DB layer for project reward claims * fix: code style issues by PHP-CS-Fixer * feat: add DoctrineLoggablePumpTrait to remove Gedmo Loggable event listener * fix: update legacy ref to FileUriException * feat: pump reward claim status and shipping address from v3 records * fix: update pumps batch sizes and injected dependencies * feat: pump user roles * feat: add true image cover retrieval and leave video as fallback for ProjectsPump * feat: pump project collaborations * feat: allow cascading of collaborations * fix: set isFulfilled of collaboration * fix: link collaboration to in-pumping project * fix: add trailing comma to list of fulfilling statuses * test: update PHPUnit CI to use bin/phpunit instead of action * feat: set memory_limit of PHPUnit run on CI to 128M * fix: add user avatar to user pump processing * fix: set invests batch size to 1 to avoid support duplicates on insert * Merge pull request #253 from goteo/fix/pumping-bugs fix: Pumping bugs
77 lines
3.1 KiB
YAML
77 lines
3.1 KiB
YAML
security:
|
|
# https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
|
|
password_hashers:
|
|
legacy:
|
|
id: 'App\Security\Hasher\LegacyPasswordHasher'
|
|
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
|
algorithm: "auto"
|
|
migrate_from:
|
|
- legacy
|
|
# https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
|
|
providers:
|
|
# used to reload user from session & other features (e.g. switch_user)
|
|
app_user_provider:
|
|
entity:
|
|
class: App\Entity\User\User
|
|
property: id
|
|
login_user_provider:
|
|
id: App\Security\LoginUserProvider
|
|
firewalls:
|
|
dev:
|
|
pattern: ^/(_(profiler|wdt)|css|images|js)/
|
|
security: false
|
|
api:
|
|
provider: app_user_provider
|
|
pattern: ^/v4
|
|
security: true
|
|
stateless: true
|
|
# https://github.com/thephpleague/oauth2-server-bundle/blob/master/docs/basic-setup.md#configuring-the-security-layer
|
|
oauth2: true
|
|
main:
|
|
provider: login_user_provider
|
|
entry_point: App\Security\LoginEntryPoint
|
|
form_login:
|
|
login_path: app_login
|
|
check_path: app_login
|
|
enable_csrf: true
|
|
remember_me:
|
|
secret: '%kernel.secret%'
|
|
lifetime: 604800
|
|
logout:
|
|
path: app_logout
|
|
# where to redirect after logout
|
|
# target: app_any_route
|
|
custom_authenticator: App\Security\OAuthProvidersCallbackAuthenticator
|
|
|
|
# activate different ways to authenticate
|
|
# https://symfony.com/doc/current/security.html#the-firewall
|
|
|
|
# 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: ^/oauth/authorize, roles: IS_AUTHENTICATED_REMEMBERED }
|
|
- { path: ^/security/consent, roles: IS_AUTHENTICATED_REMEMBERED }
|
|
# - { path: ^/admin, roles: ROLE_ADMIN }
|
|
# - { path: ^/profile, roles: ROLE_USER }
|
|
|
|
when@test:
|
|
security:
|
|
firewalls:
|
|
api:
|
|
oauth2: false
|
|
custom_authenticators:
|
|
- App\Security\TestingAuthenticator
|
|
password_hashers:
|
|
# By default, password hashers are resource intensive and take time. This is
|
|
# important to generate secure password hashes. In tests however, secure hashes
|
|
# are not important, waste resources and increase test times. The following
|
|
# reduces the work factor to the lowest possible values.
|
|
Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
|
|
algorithm: auto
|
|
cost: 4 # Lowest possible value for bcrypt
|
|
time_cost: 3 # Lowest possible value for argon
|
|
memory_cost: 10 # Lowest possible value for argon
|