php symfony 2中基于令牌的身份验证
我正在symfony 2中构建rest api和web应用程序。我的RESTAPI将由移动应用程序使用,它不是公共api。我使用基于令牌的身份验证,令牌存储在数据库中 我的表架构如下所示:php symfony 2中基于令牌的身份验证,php,api,symfony,security,authentication,Php,Api,Symfony,Security,Authentication,我正在symfony 2中构建rest api和web应用程序。我的RESTAPI将由移动应用程序使用,它不是公共api。我使用基于令牌的身份验证,令牌存储在数据库中 我的表架构如下所示: |---users----| |---identities---------| |pk id | |pk id | | email | | token | | password | |
|---users----| |---identities---------|
|pk id | |pk id |
| email | | token |
| password | | device |
|------------| |fk user_id |
| token_createdDate |
|----------------------|
我的身份验证过程包括以下步骤:
{
“令牌”:“1325asd3434asfFF34d65”,
“用户”:{
“id”:32,
“电子邮件”:sample@eg.com",
“角色”:“客户”
}
}
我遇到了FosOAuthBundle,但我不知道它是否可以用于我的场景。我的api不会公开。我的android应用程序将提供带有登录和密码表单的登录界面。是否可以使用FOSOAuthBundle执行此操作?您是为会话使用一个令牌还是在每个请求中更改它?我正处于设计阶段,因此我愿意接受任何必要的更改。目前,我正在考虑在一段时间后(比如说2个月)将代币到期。我的android应用程序在初始身份验证时收到的令牌将由我的应用程序保存。然后我的应用程序使用此令牌登录,直到令牌过期。@pradip在您的系统中使用https可能是一个很好的方法。我现在也在做同样的事情。那你最后是怎么处理的?特别是您是如何实现令牌部分的?我使用的是相同的结构。我还使用jwt作为代币。使用jwt,您不必将其存储在数据库中。我将其存储在数据库中以维护受损令牌列表,该列表允许我撤销该令牌。