JWT编码器服务定制
编辑该页面JWT编码器服务定制
这个包有两个编码器内置的令牌,一个基于namshi /穆图书馆(默认)和后来的根据lcobucci / jwt图书馆。如果不适合你的需要,你可以把它换成自己的编码器服务。下面是一个示例实现nixilla / php-jwt图书馆基于编码器。
创建自己的编码器
创建编码器类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47岁
/ / src / App /编码器/ NixillaJWTEncoder.php名称空间应用程序\编码器;使用JWT\身份验证\JWT;使用Lexik\包\JWTAuthenticationBundle\编码器\JWTEncoderInterface;使用Lexik\包\JWTAuthenticationBundle\异常\JWTEncodeFailureException;使用Lexik\包\JWTAuthenticationBundle\异常\JWTDecodeFailureException;/ * * * NixillaJWTEncoder * *@author尼古拉斯·卡伯特< n.cabot@lexik。fr > * /类NixillaJWTEncoder实现了JWTEncoderInterface{私人美元关键;公共函数__construct(字符串美元关键=“super_secret_key”){美元这- >关键=美元关键;}/ * * * {@inheritdoc}* /公共函数编码(数组美元数据){试一试{返回JWT::编码(美元数据,美元这- >关键);}抓(\异常美元e){扔新JWTEncodeFailureException (JWTEncodeFailureException::INVALID_CONFIG,”时发生一个错误编码JWT令牌。”,美元e);}}/ * * * {@inheritdoc}* /公共函数解码(美元令牌){试一试{返回(数组智威汤逊广告公司)::解码(美元令牌,美元这- >关键);}抓(\异常美元e){扔新JWTDecodeFailureException (JWTDecodeFailureException::INVALID_TOKEN,“无效JWT令牌”,美元e);}}}
声明这是一个服务
1 2 3 4
#配置/ services.yaml服务:acme_api.encoder.nixilla_jwt_encoder:类:App \编码器\ NixillaJWTEncoder
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。