如何在使用Silex JWT身份验证调用时记录请求并返回无效令牌的自定义消息

时间:2018-04-23 09:21:50

标签: php jwt silex

我使用Silex框架+ JWT令牌

示例代码如下,this link

中的示例
$app->get('/api/protected_resource', function() use ($app){
    // Loggger
});

一切都很好。 如果我在没有/api/protected_resource令牌的情况下拨打jwt,则会出错

{"message":"A Token was not found in the TokenStorage."}

在这里,我想记录每个请求[有或没有令牌],并发送自定义消息以获取无效令牌。

我尝试使用$app->before(),但对于无效调用,此功能未执行。

那么如何为ev​​ey调用添加日志?有没有办法直接配置自定义消息?

1 个答案:

答案 0 :(得分:0)

您可以收听security.authentication.failure事件。示例代码:

<?php
// somewhere before calling $app->run();
$app->on("security.authentication.failure", function() use $app {
  $app['logger']->log("Authentication failure!")
});

这是根据Symfony security docs