Symfony2 中的 JWT 令牌
Posted
技术标签:
【中文标题】Symfony2 中的 JWT 令牌【英文标题】:JWT Token in Symfony2 【发布时间】:2016-04-26 01:55:37 【问题描述】:我需要在控制器 Symfony2 中读取 JWT 令牌,并将其发送到前端的 $localStorage(不是标准登录过程)。
我使用 AngularJS 1.4、Symfony2.7 (REST)、LexikJWTAuthenticationBundle。
如何在控制器中为登录用户读取此令牌?
(例如JWT令牌:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE0NTMyODkzNzAsInVzZXJuYW1lIjoibWFjaWVqLm9zeXRla0BnbWFpbC5jb20iLCJpYXQiOiIxNDUzMjAyOTcwIn0.P8d4dDSkUk26U6voqeDxJ6RtH2sy_d1fBcB_XHx_E8AOfmQuib3E54ERIRhuhl4T7bFTzpmpOZ-K-RcpkkdjfvlsfaM1R9KRkDVHXZ1KpQs4nF1u4SZef6SorAES-d4ZSnouKLS3BRLayXtpTOLGjzaq3RpKVIAIEZtEQNvKTZBUdvCvDd2X-_UmyMAxgFShNvpw2CSLmdFys45KjfcTP9l74hsK7-l5kkkqywa-q4feIPVkLHJ-J41oU2l6jGf_KbHW4pTNFJ_6X7c-awkHRxyphrcXbtK_BlBiwOff7hOsODTZhIBh2StTnmO0jegIlKlVxsnlP652zYzf2NsqhcIz0hblknmeOZV_hit-liEXuNZy4-7Ee_Tn2bLusGOIGVnniuVFSkZIGtvoV8KJWuj7mXefmTln_rPyI04RQy9m1BW3V3h2TmEKgpK4c01p5c2wx6CCtSV0SLCcKMA2p1-fYMkOgQ0J4YrZ4nrMcRHh6P8rsb9NSnTlwmOrzoBYad7QXhl780NIh7h_MAp0aLcQNSAHtCG6CdZywoNst5bEc-rtd2MY2aL3zddrh_zPxQ-6TE05rqWQQ8fasbTj808khgybywwj4GC5AA4vaPSksEsqeuk414hmBizZUNlLEL0W4k1LzovlFuLFZwQrVBCTh1J_gKEQ0rpCMjag7gY) P>
【问题讨论】:
如果您只将令牌存储在本地存储中,那么您需要以某种方式将其与请求(标头、cookie、查询参数等)一起发送。如果你已经发送了一个请求......好吧,我们不会猜测你是怎么做的;) 谢谢雅库布。但我需要将令牌从后端发送到前端(我知道这很奇怪)。那么我如何读取自动登录用户的 jwt 令牌? 为什么奇怪?我的意思是,创建令牌并将其传递给前端的服务器不是吗? 【参考方案1】:好的,我找到了: $this->get('lexik_jwt_authentication.jwt_manager')->create($this->getUser());
【讨论】:
以上是关于Symfony2 中的 JWT 令牌的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2 测试中的伪造身份验证 - 控制器上的 get('security.context')->getToken() 返回的令牌与 TestCase 中设置的令牌不同
CSRF 和 RESTful API (symfony2, php)
Symfony 2中的kernel.request事件中的身份验证令牌始终为空?