为 LexikJwt 保护了我的注释路径
Protected my annotations route for LexikJwt
我正在尝试为我的新 API 实施 LexikJwt 包:
https://github.com/lexik/LexikJWTAuthenticationBundle
我刚刚添加了我的自定义命令来创建一个正确的 JWT 令牌,包括我用于本地测试的默认角色。下一步将是实际保护我的路线。然而,我找不到的是如何做到这一点。这是我当前使用 annotation
路由
的控制器实现
/**
* @Route(
* "/search",
* name="search",
* methods={"GET"},
* )
*/
class Search
{
/**
* @param AddressService $addressService
* @param Request $request
* @return JsonApiResponse
* @throws Exception
*/
public function __invoke(AddressService $addressService, Request $request)
{
$address = $addressService->createFromParams($request->query->all());
try {
$addressCollection = $addressService->search($address);
} catch (AddressNotFoundException $e) {
$addressCollection = [];
}
return new JsonApiResponse($addressCollection);
}
}
但是文档没有说明任何关于注释路由的内容,而且只说明了安全防火墙上的 yml 配置。我需要的主要是要验证的令牌:
- 令牌是否有效(匹配public键)
- 令牌是否过期
- 路由是否匹配给定的角色
例如,我想要上面的代码,这是一个地址服务,只有当上面的令牌匹配并且令牌拥有角色或范围时才会匹配:address:search
.
希望有人能帮忙,
皮姆
问题是该角色应以 ROLE_
开头。虽然可以覆盖它,但这是用例。
我正在尝试为我的新 API 实施 LexikJwt 包: https://github.com/lexik/LexikJWTAuthenticationBundle
我刚刚添加了我的自定义命令来创建一个正确的 JWT 令牌,包括我用于本地测试的默认角色。下一步将是实际保护我的路线。然而,我找不到的是如何做到这一点。这是我当前使用 annotation
路由
/**
* @Route(
* "/search",
* name="search",
* methods={"GET"},
* )
*/
class Search
{
/**
* @param AddressService $addressService
* @param Request $request
* @return JsonApiResponse
* @throws Exception
*/
public function __invoke(AddressService $addressService, Request $request)
{
$address = $addressService->createFromParams($request->query->all());
try {
$addressCollection = $addressService->search($address);
} catch (AddressNotFoundException $e) {
$addressCollection = [];
}
return new JsonApiResponse($addressCollection);
}
}
但是文档没有说明任何关于注释路由的内容,而且只说明了安全防火墙上的 yml 配置。我需要的主要是要验证的令牌:
- 令牌是否有效(匹配public键)
- 令牌是否过期
- 路由是否匹配给定的角色
例如,我想要上面的代码,这是一个地址服务,只有当上面的令牌匹配并且令牌拥有角色或范围时才会匹配:address:search
.
希望有人能帮忙,
皮姆
问题是该角色应以 ROLE_
开头。虽然可以覆盖它,但这是用例。