2016-11-09 19 views
0

ほとんどのものは、tuupola/slim-jwt-authを使ってJWT認証で作業しています。私が何をすべきか分からないことの1つは、URLの部分的な承認です。部分URLは、スリム3のPHPフレームワークでJWT認証が必要です

が、私はパブリックURL

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

を持って言うことができますそれから私は、サブ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/products/123/internalのみを安全にすることができるか

ありがとうございます。

答えて

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

関連する問題