jwt_authentication request ajax - symfony - PullRequest
       9

jwt_authentication request ajax - symfony

1 голос
/ 11 апреля 2019

Я работаю с symfont и JSON Web Token и Symfony.

Я пытаюсь получить jwt с помощью ajax, но я получаю 401 (неавторизовано) Проблема с ajax, потому что я пытаюсь с почтальономи я могу получить токен.

вот мой security.yaml

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

    providers:
        users:
            entity:
                class: App\Entity\Users
                property: email

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login_app_manager:
            pattern:  ^/user/login
            stateless: true
            anonymous: true
            provider: users
            json_login:
                check_path: /user/login
                username_path: email
                password_path: password
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false


        app_api_manager:
            pattern:  ^/mngr/api
            stateless: true
            anonymous: false
            provider: users
            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 }


вот мой ajax

var data = {
    'email':email,
    'password':password
};
$.ajax({
    type: "POST",
    url: "/user/login",
    contentType: "application/json",
    data: JSON.stringify(data),
    success: function(response) {
        console.log(response);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        console.log('Error : ' + errorThrown);
    }
});

пожалуйста, помогите мне, спасибо

1 Ответ

3 голосов
/ 12 апреля 2019

Попробуйте пост вместо ajax:

        $(document).ready(function{
            //form submit
            $("form").submit(function(event){
                var email      = $('#email').val();
                var password   = $('#password').val();
                $.post("/user/login",{
                    email:email, password: password
                }).done(function(data){

                })
            })
        });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...