Json Web Token #
W celu poprawnego działania uwierzytelniania, potrzebujemy dodatkowego zabiegu w postaci wygenerowania pary kluczy.
# Tworzymy katalog dla naszych kluczy $ mkdir backend/var/jwt # Tworzymy klucz prywatny. Wywołany zostanie prompt w którym podajemy dodatkowe hasło dla naszego klucza prywatnego. $ openssl genrsa -out backend/var/jwt/private.pem -aes256 4096 # Tworzymy klucz publiczny dla naszego poprzednio wygenerowanego klucza prywatnego $ openssl rsa -pubout -in backend/var/jwt/private.pem -out backend/var/jwt/public.pem
Należy również pamiętać o poprawnej konfiguracji biblioteki odpowiedzialnej za uwierzytelnienie
WAŻNE: zmienić pass_phrase klucza prywatnego, w innym przypadku dostaniemy An error occurred while trying to encode the JWT token. Please verify your configuration (private key/passphrase)
lexik_jwt_authentication: secret_key: '%kernel.project_dir%/var/jwt/private.pem' # required for token creation public_key: '%kernel.project_dir%/var/jwt/public.pem' # required for token verification pass_phrase: 'mypassphrase' # required for token creation, usage of an environment variable is recommended token_ttl: 3600 user_identity_field: email
Docker #
Development #
Uruchamianie aplikacji w wersji deweloperskiej wymaga skopiowania pliku docker-compose.override_dev.yml do docker-compose.override.yml
$ docker-compose build $ docker-compose up -d $ docker-compose exec php bash $ composer install $ bin/console doctrine:migrations:migrate $ bin/console hautelook:fixtures:load $ bin/console ias:user:create --super-admin
