2016-11-09 1 views
0

나는 대부분 tuupola/slim-jwt-auth로 JWT 인증을 사용하고 있습니다. 내가 해야할지 잘 모르는 부분 중 하나는 부분적인 URL 인증입니다.부분 URL은 슬림 3 PHP 프레임 워크에서 JWT 인증이 필요합니다.

내가

www.xyz.com/api/v1/products 
www.xyz.com/api/v1/products/123 

그럼 난 하위 URL이 공개 URL이 승인만을위한/

www.xyz.com/api/v1/products/123/internal 

내부 미들웨어에서 필요하다고 할 수 있습니다, 내가 가진 :

$jwt = new \Slim\Middleware\JwtAuthentication([ 
    "path" => ["/api", "/other"], 
    "passthrough" => ["/api/v1/products", "/other/urls"], 
    //more settings.... 
]); 

$app->add($jwt); 

그래서 내 질문 : 어떻게/api/v1/제품/123/내부 보안

만 확보 할 수 있습니다.

감사합니다.

답변

1

path 설정을 사용하여 경로를 인증해야합니다. /api/v1/products/123/internal으로 시작하는 모든 것을 인증하려면 다음을 수행하십시오.

$jwt = new \Slim\Middleware\JwtAuthentication([ 
    "path" => ["/api/v1/products/123/internal"] 
]); 

$app->add($jwt); 

그러나 그것은 당신의 질문에서 명확하지 않다하지만 난 당신이 실제로 ID로 제품을 인증하고 바로 123이 당신이 정규 표현식을 사용할 수 있습니다 달성하지 원하는 느낌이있다.

$jwt = new \Slim\Middleware\JwtAuthentication([ 
    "path" => ["/api/v1/products/(\d*)/internal"] 
]); 

$app->add($jwt); 
+0

미카 덕분에, 이것이 내가 필요한 것입니다. 그리고 내 오해를 바로 잡았습니다. 건배. – triston

관련 문제