认证? ,开放ID?两者都不?我的网站应该支持哪一个?

Posted

技术标签:

【中文标题】认证? ,开放ID?两者都不?我的网站应该支持哪一个?【英文标题】:OAuth? ,OpenID? Neither? Which one should my site support? 【发布时间】:2010-10-22 14:38:46 【问题描述】:

我在一个新网站上工作,想要一些关于 OAuth、OpenID 和标准网站拥有的用户名/密码的建议/反馈。

【问题讨论】:

【参考方案1】:

您可能想阅读 Malcom Tredinnick 撰写的 this article,其中解释了 openid 和 oauth 是什么,以及做什么。它们有不同的用途。

总之,openid 将用于唯一标识用户 - 这是一种身份解决方案。 oAuth 将通过允许用户授予您的站点对外部服务(例如他们的 flickr 帐户)的临时访问权限来提供一种与您站点的用户可以访问的数据进行交互的方法 - 它是一种授权工具。

当然,只提供标准的特定于站点的帐户始终是一种选择,但恕我直言,支持 openid 对您的用户和网络来说更好。许多实施 openid 的网站允许用户使用 openid(如果有),但也允许用户登录并创建没有 openid 的帐户。因此,它不一定是非此即彼的命题。两者都可以!

【讨论】:

这是来自 Wayback 机器的版本:web.archive.org/web/20080318052514/http://www.pointy-stick.com/…【参考方案2】:

我赞成支持使用 OpenID、Facebook 和任何其他身份验证器集成用户授权。给用户一个选择。

还可以让他们选择不使用它们。特别是在面向成人的网站中,您的用户可能会选择不使用不像简单注册您的网站那样匿名的东西。只需在存储密码时使用最佳做法即可。

【讨论】:

【参考方案3】:

在 2011 年 11 月的开发者预览版中有一个名为 OpenID Connect 的新标准。它建立在 OAuth 2.0 之上,据我了解,它标准化了 Facebook 做事的方式,它也建立在 OAuth 2.0 之上.它看起来很有希望,因为在 Facebook 身份验证协议方面有很多经验,并且它可能是许多 Web 开发人员正在寻找的 解决方案。虽然我还没有深入研究它,所以我可能会误解它,但这是我在阅读this blog post 后的理解。

【讨论】:

【参考方案4】:

Here 是非常清晰的解释。 直接来自 OAuth 文档。

【讨论】:

【参考方案5】:

JanRain 允许您接受大约 everything。鉴于大玩家总是想成为提供者而不是消费者,这可能是唯一现实的“通用”选择。

【讨论】:

【参考方案6】:

您可以将所有这些组合起来并充分利用它,但这取决于您的设计选择。

例如,如果您使用 Java,您可以配置 Acegi(Spring Security) 以允许 openID 以及您的正常身份验证机制。

openID 有 OAuth 扩展

OAuth 有 openID 扩展

这取决于你...

【讨论】:

【参考方案7】:

请注意,即使您的网站不需要访问您用户在其他网站上的私人数据,如果您的网站有用户可能希望通过 API 或其他网站访问的数据,OAuth 仍可能适用.使用 OAuth,任一端或两者都可能适用于您的网站。

【讨论】:

【参考方案8】:

我对 OAuth 的印象是,它更多的是允许对 API 进行安全、经过身份验证的访问,而不是一般用户访问。

就我个人而言,我希望看到更多网站支持 OpenID。

【讨论】:

以上是关于认证? ,开放ID?两者都不?我的网站应该支持哪一个?的主要内容,如果未能解决你的问题,请参考以下文章

网站如何添加https://加密认证教程

分析 - 哪一层?

用h5开发的app想接入支付宝,应该去支付宝开放平台申请哪种支付方式?app支付还是手机网站支付?

C#开发微信门户及应用(41)--基于微信开放平台的扫码登录处理

Open API

公司内多个公众号实现账号互通(UnionID机制处理)