我用silex创建了我的第一个应用程序。只有登录用户才能使用该应用。在第一页中,我创建了一个登录表单,因此用户可以进行身份验证。我的安全提供商看起来像:
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'secure_area_edison' => array(
'pattern' => '^/admin/',
'form' => array('login_path' => '/', 'check_path' => '/admin/login_check'),
'logout' => array('logout_path' => '/admin/logout', 'invalidate_session' => true),
'users' => function () use ($app) {
return new App\Services\UserProvider($app['db']);
},
),
)
));
'/ admin'之后的每个网址都要求用户成功通过身份验证。一切正常,现在我想用API扩展我的应用程序。我创建了一个新的控制器,它从数据库中检索数据并返回JSON响应,这项工作也很好。
但是用户如何对此API进行身份验证?我应该在我的用户表中创建一个新列,如“hash”或“token”吗?将检索JSON响应的用户必须在每个get请求中发送令牌,这是正确的方法吗?
网址可以看起来:
/admin/api/allProducts/token/<TOKEN>
答案 0 :(得分:0)
您应该使用令牌基本身份验证,而不是在每个get请求中传递令牌。 参考:https://github.com/thcolin/silex-simpleuser-jwt