我正在设计API来为浏览器网络应用提供服务。我想以一种方式设计API,如果需要,可以跨平台使用。对于第一阶段,我想实现用户名和密码身份验证(我相信术语是grant_type =密码)。我已经读过OAuth 2.0作为实践中的标准,我有几个问题:
是否有建议的方法将令牌和令牌有效期限绑定到数据库中的用户?这可以在一个表中完成,还是将它们分开更好?
我想在进行第三方认证(Facebook,Google +,Twitter等等)之前进行验证并验证用户名和密码认证的有效性。在创建数据库时,我是否应该提前知道表格和API,以确保它可以扩展到这些功能?
我听说过很多关于JWT的事情,这被认为是生成并将代币返回前端的标准方式吗?
我希望用PHP构建api,我将使用https://github.com/bshaffer/oauth2-server-php的实现,但看起来它在php 7及更高版本上失败了。 (我将在这个项目中使用7.2)也可以更容易一次创建一个。
非常感谢上述任何方向或见解。这将是我在应用程序中实现可扩展身份验证框架的第一次尝试。