2016-11-09 40 views
0

我擁有大部分所有功能都可以使用tuupola/slim-jwt-auth進行JWT身份驗證。有一件事我不確定要做的是部分URL授權。部分url需要瘦客戶端3上的JWT身份驗證php框架

可以說我有市民網址

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); 

但是它不是從你的問題清楚,但我有你真正想要的任何標識認證的產品,而不僅僅是123要做到這一點,你可以使用正規的感覺。

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

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

謝謝Mika,這正是我需要的,你也糾正了我的誤解。乾杯。 – triston