angularjs - 应用程序使用 OAuth 的最佳方式

标签 angularjs authentication laravel oauth

我正在使用 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 的身份验证系统。其实基础很简单:

  1. 登录
  2. 验证凭据
  3. 生成 token
  4. 在数据库中存储 token

然后根据要求检查 token 是否在数据库中(并且尚未过期)

很简单吧?嗯..你可能已经知道,这太容易让人难以置信了。
尤其是在安全性非常重要的地方,你必须考虑每一种情况,你应该真正知道你在做什么。这就是为什么我建议您使用 OAuth 标准。是的,这可能有点矫枉过正,但我​​相信这是值得的。

希望我能帮上忙:)

关于angularjs - 应用程序使用 OAuth 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26525064/

相关文章:

javascript - 错误: [$injector:modulerr] http://errors.

javascript - 当我的结果有限时,如何对API结果进行分页?

authentication - Spring Security-安全的远程密码协议(protocol)-SRP-身份验证提供程序

laravel - 不使用auth中间件,如何通过token获取用户id?

javascript - 使用 Sweetalert、Javascript 和 Laravel 创建确认按钮

angularjs - 在 ionic1 应用程序中使用列表分隔符在嵌套项中出现对齐问题

javascript - ng-repeat 非数组/对象/以相同的方式处理数组和非数组

ruby-on-rails - 如果用户使用 Ruby on Rails 超过设定的时间不活动,如何处理登录 cookie 的过期?

php - 我如何限制 CakePHP 中的某些内容?

laravel - 为所有 eloquent 模型添加方法的最佳方式