簡體   English   中英

從 symfony 4.4 截取 login_check 路徑

[英]Intercept the login_check path from symfony 4.4

我有一個用 symfony 4.4 制作的 REST API,但我在身份驗證過程中遇到了問題。 一切正常,但我遇到有時 login_check 返回 401 Unauthorized 對於幾天前可以毫無問題地訪問的用戶。 我正在使用LexikJWTAuthenticationBundle

安全:

security:
    role_hierarchy:
        ROLE_ADMIN: ROLE_ADMIN
        ROLE_MANAGER: ROLE_MANAGER
        ROLE_CLIENT: ROLE_CLIENT
        ROLE_HOST: ROLE_HOST

    encoders:
        App\Entity\User:
            algorithm: auto

    providers:
        app_user_provider:
            entity:
                class: App\Entity\User
                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:          app.jwt_authenticator_success_handler
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
        api:
            pattern:   ^/api
            anonymous: true
            stateless: true
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator
        main:
            anonymous: ~
            logout:
                path: app_logout
                delete_cookies: ['rhsso']
                success_handler: logout_handler
                # where to redirect after logout
                # target: app_any_route

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

我不知道發生了什么。 我試圖至少記錄驗證憑據的時間,但我找不到攔截 login_check 路由代碼的方法。 我什至不知道該代碼在 symfony 安全中的位置。 有什么幫助嗎? 提前致謝。

/api/login_check 路徑可能定義在 /config/routes/jwt.yaml 或 config/routes...

bin/console debug:router api_login_check

可能會或可能不會透露一些信息

如果你跑

bin/console debug:container lexik_jwt_authentication.jwt_token_authenticator

你應該找到要攔截的類。 也許您可以深入研究失敗處理程序以找出為什么會收到 401。如果不時發生令牌到期,這聽起來可能是可能的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM