php symfony 2中基于令牌的身份验证

时间:2015-11-30 20:44:56

标签: php api symfony security authentication

我正在symfony 2中构建一个rest api和web应用程序。我的rest api将由移动应用程序使用,它不是公共API。我使用基于令牌的身份验证与存储在数据库中的令牌。

我的表架构如下所示:

|---users----|     |---identities---------|
|pk id       |     |pk  id                |
|   email    |     |    token             |
|   password |     |    device            |
|------------|     |fk  user_id           |
                   |    token_createdDate |
                   |----------------------|

我的身份验证过程包括以下步骤:

  1. android app中有一个带有用户名和密码的登录表单.App将用户代理请求标题中的登录请求(POST)和设备名称发送到我的php api,url看起来像这样:/ api / v1 / login 。如果身份验证成功,我会发送一个带令牌的json响应。样本json响应如下所示:
  2. {
        "token":"1325asd3434asfFF34d65",
              "user" :{
                    "id":32,
                    "email":"sample@eg.com",
                    "role" :"customer" 
              }
     }
    
    1. 现在,Android应用程序通过将其包含在请求标头中来访问安全的api资源来使用此标记。我受保护的资源URL是这样的:/ api / v1 / hello。 php api读取令牌和用户代理请求头,然后验证它是否存在于我的表中#34;身份"。用户代理请求标头映射到我的表中的设备列"标识"。
    2. 我的身份验证系统有哪些漏洞可供其他api使用?

      更新: 我遇到了FosOAuthBundle,但我很困惑它是否可以用于我的场景。我的api不会公开。我的Android应用程序将提供登录界面和登录密码表单。是否可以使用FOSOAuthBundle执行此操作?

0 个答案:

没有答案