首页 > 解决方案 > 更改 FOS 用户连接属性

问题描述

我与 symfony 和 jwt bundle 的朋友的连接有问题,默认情况下它使用用户名连接,只有我需要使用电子邮件。

我首先尝试更改 secutiy.yaml 中的属性,但无法使其正常工作。

security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt

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

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        login:
            pattern:  ^/login
            stateless: true
            anonymous: true
            json_login:
                check_path: /login_check
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

        register:
            pattern:  ^/register
            stateless: true
            anonymous: true

        api:
            pattern:  ^/api
            stateless: true
            anonymous: false
            provider: entity_provider
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

    access_control:
        - { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api, roles: IS_AUTHENTICATED_FULLY }

当我尝试连接时,它总是要求我输入用户名。

标签: symfonyjwtfosuserbundle

解决方案


尝试 :

fos_userbundle:
    id: fos_user.user_provider.username_email

推荐阅读