通过编程创建JWT令牌
编辑该页面通过编程创建JWT令牌
这可能是有用的在许多情况下手动创建一个JWT牌对于一个给定的用户,确认用户注册后通过邮件。为了达到这个目标,使用lexik_jwt_authentication.jwt_manager
服务直接:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
名称空间应用程序\控制器;使用ob娱乐下载\包\FrameworkBundle\控制器\控制器;使用ob娱乐下载\组件\HttpFoundation\JsonResponse;使用ob娱乐下载\组件\安全\核心\用户\用户界面;使用Lexik\包\JWTAuthenticationBundle\服务\JWTTokenManagerInterface;类ApiController扩展控制器{公共函数getTokenUser(用户界面美元用户,JWTTokenManagerInterface美元JWTManager){/ /……返回新JsonResponse ([“令牌”= >美元JWTManager- >创建(美元用户)));}}
这将事件:JWT_CREATED
,事件:JWT_ENCODED
事件和返回一个JWT令牌,但是事件:AUTHENTICATION_SUCCESS
事件不是派遣,需要创建和格式化自己的反应。
手动验证一个用户并返回相同的反应你的登录表单:
1 2 3 4 5 6
公共函数fooAction(用户界面美元用户){美元authenticationSuccessHandler=美元这- >容器- >get (“lexik_jwt_authentication.handler.authentication_success”);返回美元authenticationSuccessHandler- >handleAuthenticationSuccess (美元用户);}
你也可以通过现有JWT的handleAuthenticationSuccess
方法:
1 2 3
美元jwt=美元这- >容器- >get (“lexik_jwt_authentication.jwt_manager”)- >创建(美元用户);返回美元authenticationSuccessHandler- >handleAuthenticationSuccess (美元用户,美元jwt);
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。