我有一个使用基于symfony的api的android应用程序。我有用户通过电话登录,向服务器发送请求然后注销。问题是,除非我删除了android(我正在存储)中的cookie,否则symfony服务器不会注销用户,尽管用户进入注销路由。
这是我的security.yml文件的一部分(我已尝试过很多与此文件的组合无效)
防火墙:
api:
anonymous: ~
provider: users
access_denied_url: /user/accessDenied
pattern: ^/api/user
form_login:
login_path: /api/user/login
success_handler: Authentication_Handler
failure_handler: Failure_Handler
check_path: /api/user/login_check
remember_me: false
logout:
path: /api/user/logoutuser
success_handler: logout_handler
target: /
我还尝试手动触发控制器,调用$ this-> get(' session') - > invalidate();和/或重定向到注销路径(网络上的一些结果表明这是一个好主意,但它不起作用)似乎只要存在cookie,symfony服务器只是记录用户,这似乎是一个安全考虑到我正在将cookie保存到android上的共享首选项中。请帮忙
答案 0 :(得分:0)
我相信我找到了问题所在。注销时不会发送cookie头,因此服务器不知道哪个会话无效。使android httpclient表现得像一个完整的浏览器可能会很棘手......