【发布时间】:2019-09-02 08:14:48
【问题描述】:
我正在使用 symfont 和 JSON Web Token 和 Symfony。
我正在尝试使用 ajax 获取 jwt,但我得到 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);
}
});
请帮帮我,谢谢
【问题讨论】:
-
你能提供完整的security.yml吗?
-
@kemicofa 我已经用完整的 security.yml 更新了问题
-
尝试更改路径
^/user/login中的access_control部分而不是 ^/login
标签: javascript ajax symfony jwt