【问题标题】:oauth 2: Javascript vs. PHP?oauth 2:Javascript 与 PHP?
【发布时间】:2015-10-31 15:12:26
【问题描述】:

我想为我的一个网络应用程序添加“使用 XYZ 登录”功能。我不需要任何高级的东西 - 只需使用他们现有的配置文件登录用户,这样他们就不必记住另一个登录凭据集。

经过一番研究,我找到了HybridAuth和hello.js。

我知道 Javascript 和 PHP,但我之前从未实现过 OAUTH 2 支持。

据我所知,从技术上讲,我可以想象在 Javascript 或 PHP 中实现识别和身份验证。

你会推荐我选择什么,为什么?

【问题讨论】:

  • 抱歉,建议和主要基于意见的问题与 SO 无关。
  • @marekful 我对意见不感兴趣,但对以前实施过 oauth 2 的人的任一路径的技术推理感兴趣。我还不知道这两条路的陷阱在哪里。
  • 我会说这取决于你想选择什么。 @whatout 下面的回答是了解 OAuth 所说内容的良好开端。一旦您对它感到满意,您就必须能够为您和您的业务案例选择最好的
  • 我的建议是选择你熟悉的。

标签: javascript php oauth oauth-2.0 compare


【解决方案1】:

由于没有评论或答案真正回答了我的问题,我将通过我一直在做的额外阅读来回答。如果您通过对同一问题的研究来到这里,我希望它会有所帮助。

必须使用您的“客户端密码”需要 OAUTH 2 客户端拥有一些服务器端代码(我不想在客户端 JS 中使用我的“密码”,我是...)。 Hello.js 通过OAUTH Proxy 解决了这个问题。

由于我更喜欢​​在生产中尽量减少对第三方的依赖,所以我更愿意首先使用 PHP。

因此,我现在将使用混合身份验证。

【讨论】:

    【解决方案2】:

    我已经实现了一些功能,例如“使用 Facebook 登录”,这是常见的模式,如图所示。

    您要做的首先将用户重定向到 Facebook 身份验证服务器,当用户从 Facebook 身份验证服务器获取“代码”时,您可以通过将“代码”传递给 Facebook 身份验证服务器(不同的 url)来获取“访问令牌”。其次,当您拥有“访问令牌”时,您现在可以通过 Facebook API 获取用户个人资料,然后保存到数据库或其他东西。

    所以,hello.js 和 HybridAuth 之间的区别在于,hell.js 使用浏览器(Javascript)在用户使用“代码”重定向后执行操作,但 HybridAuth 在服务器端(PHP)执行。但是它们确实有相同的图案,如图所示。

    【讨论】:

    • 感谢您的友好总结。我缺少关于 JS 和 PHP 之间特定差异的明显提示。
    【解决方案3】:

    我在 FB 中使用了 JS 和 PHP 版本。 使用服务器端库,您可以在不怀疑的情况下开展业务。例如收集一些公共信息以合并重复帐户、存储个人资料图像、登录尝试。您的业​​务和用户体验可能需要的其他要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 2017-08-22
      相关资源
      最近更新 更多