我正在使用 Laravel API 构建 AngularJS 应用程序。几天来我一直在寻找身份验证,但我被卡住了。
我发现 OAuth 2.0 作为一种默认身份验证,也被 Facebook 和 Twitter 等使用。我找到的很多教程都是关于在 Facebook 和 Twitter 或 Google 上使用 OAuth 2.0 的。但是,我不想使用 Facebook 对用户进行身份验证,而是想使用我自己的数据库中的用户凭据构建自己的身份验证。所以我想,我需要我自己的 OAuth 提供商。
对于想要使用我们数据的其他公司而言,身份验证必须非常安全且易于连接(它是面向小学的 Web 应用程序)。
我相信这个问题有很多可能的答案。但是,我也相信很多人都有同样的问题;)
谁能告诉我如何使用 OAuth 2.0 或类似的身份验证方法?
最佳答案
你是对的——如果你想实现 OAuth 2.0,你需要成为你自己的提供者(或授权服务器)。作为您自己的提供者还意味着您实际上可以跳过该过程的某些部分(例如,如果用户真的想授予此应用程序权利等,则带有确认的屏幕...)
如果您决定使用 OAuth 2.0,可以使用一个广泛使用的包 oauth2-server-laravel这有助于整个过程。
但是,您也可以开发自己的基于 token 的身份验证系统。其实基础很简单:
- 登录
- 验证凭据
- 生成 token
- 在数据库中存储 token
然后根据要求检查 token 是否在数据库中(并且尚未过期)
很简单吧?嗯..你可能已经知道,这太容易让人难以置信了。
尤其是在安全性非常重要的地方,你必须考虑每一种情况,你应该真正知道你在做什么。这就是为什么我建议您使用 OAuth 标准。是的,这可能有点矫枉过正,但我相信这是值得的。
希望我能帮上忙:)
关于angularjs - 应用程序使用 OAuth 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525064/