How do I get my lexik/jwt bundle to return a token in symfony 5.1 instead of a webpage.
Here is my lexik_jwt_authentication.yaml file:
lexik_jwt_authentication:
secret_key: '%env(resolve:JWT_SECRET_KEY)%'
public_key: '%env(resolve:JWT_PUBLIC_KEY)%'
pass_phrase: '%env(JWT_PASSPHRASE)%'
token_ttl: 3600
here is security.yaml:
security:
encoders:
Authentication:
algorithim: bcrypt
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
#users_in_memory: { memory: null }
database:
entity:
class: App\Entity\AccountHolderTable
property: Email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/api/login
stateless: true
anonymous: true
json_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
api:
pattern: ^/api
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
anonymous: true
# 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: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY}
# - { path: ^/admin, roles: ROLE_ADMIN }
# - { path: ^/profile, roles: ROLE_USE R }
here is routes.yaml:
#index:
# path: /
# controller: App\Controller\DefaultController::index
api_login_check:
path: /api/login_check
I used open ssl to create my public and privite keys and copied the URI into my .env file.
When I make a post request using curl to api/login_check/ I get a html file rather than a token. What am I doing wrong?
What I have tried:
I tried everything in the tutorials I have.