标签: openid

OpenID和OAuth有什么区别?

我真的想了解OpenID和OAuth之间的区别吗?也许他们是两个完全不同的东西?

openid authentication oauth

927
推荐指数
13
解决办法
24万
查看次数

使用Django的OpenID最佳解决方案是什么?

请注意:这是一个古老的问题,有古老的答案.大多数链接的应用程序现在都没有维护.这些天,大多数人似乎都使用django-allauthpython-social-auth.为了后人的缘故,我将保留原始问题.


至少有六个Django应用程序为Django提供OpenID身份验证:

我玩了几个.Simon Willison的django-openid给人留下了良好的印象,但由于他处于Djangoland引领潮流的最前沿,我有时难以绕过他的趋势(例如django-openid中的整个动态urlpatterns系统).更重要的是,我无法登录与Google合作.

django-authopenid给人留下了良好的印象,似乎与django-registration有很好的整合.django-socialauthdjango-socialregistration支持Twitter和Facebook,这绝对是一个优势.谁知道Facebook何时以及何时开始成为OpenID提供商......?但是,socialauth似乎有一些问题.

那么,那里最好的OpenID应用程序是什么?请分享任何积极(和消极)的经验.谢谢!

python openid django

252
推荐指数
5
解决办法
3万
查看次数

用于合并多个用户帐户的体系结构

好的,我有一个网站,您可以自己注册并登录.您还可以使用您的Facebook,Twitter或linkedin帐户登录.

用户只注册一个帐户很重要.所以不知何故,我想合并用户的帐户,如果他们使用不同的方法登录.解决这个问题的最佳解决方案是什么?

例如,用户使用他的Facebook帐户登录.我使用这些数据自动为他注册一个帐户.我应该发送一封包含我们网站用户名和密码的电子邮件吗?(如果Facebook的政策没有问题).我应该给他们第二个屏幕,他们可以填写用户名和密码吗?但这并不是使用您的Facebook帐户登录的理念.它应该简化您的参与程序.

用户也可以在我们的网站上注册,并在下次使用他的Twitter帐户登录时.如何将这两个帐户合并为一个?什么是最好的方式?

基本上我的问题是:我有4种不同的方式,用户成为我们网站的成员.如果用户决定使用多种方式,我如何确保所有这4种方式只创建一个帐户?什么是最好的流程,以确保它不会成为用户自己的麻烦?


编辑:

在我提出这个问题3年后,我在一系列文章中给出了答案:http://www.sitepoint.com/series/using-social-networks-as-a-login-system/

architecture openid oauth multiple-login

172
推荐指数
4
解决办法
2万
查看次数

使用OAuth保护我的REST API,同时仍允许通过第三方OAuth提供程序进行身份验证(使用DotNetOpenAuth)

我的产品具有简单的REST API,因此产品的用户可以直接与产品功能集成,而无需使用我的Web用户界面.

最近,我一直对各种第三方感兴趣,他们将桌面客户端与API集成,以允许我的产品用户使用该第三方应用程序访问他们的数据.

我已经看到想要使用Twitter的应用程序使用Twitter托管的登录页面进行身份验证,该登录页面授予特定应用程序访问该用户数据的权限.单击"允许"或"拒绝"按钮,验证过程完成.Facebook使用与我能说的最佳机制相同的机制.

经过进一步研究,这似乎是OAuth在行动,并且看到我的API是基于.Net的,我想我应该使用DotNetOpenAuth并提供类似的机制.不幸的是,样本的文档很少(如果有的话),我在网上找到的唯一教程似乎专注于帮助您为用户提供登录机制,以便他们可以使用第三方提供商登录您的网站.

真正想做的是让我的REST API处理我的Web应用程序的所有核心身份验证和业务逻辑,并且我的Web应用程序本质上是另一个仅通过OAuth使用API​​的应用程序.用户可以直接使用他们的用户名和密码在网站上进行身份验证,也可以通过第三方提供商(如MyOpenID或Facebook)进行身份验证,然后网站会以某种方式使用返回的令牌对REST API进行身份验证.

建筑图

它基本上看起来我需要我的API以某种方式托管OAuth服务,但也让用户使用第三方OAuth服务.我不禁想到,我对OAuth没有足够的把握来决定我是否过于复杂化,或者我正在尝试做的事情是好事还是坏事.

有人能给我至少一个我需要采取的步骤的概述,或者我应该考虑做些什么来实现这一目标?或者指点一些教程?或者提出我的建议并告诉我,我(在架构上)这一切都是错的?

openid api rest oauth dotnetopenauth

138
推荐指数
2
解决办法
7万
查看次数

136
推荐指数
4
解决办法
6万
查看次数

OpenID与OAuth

可能重复:
OpenID和OAuth之间有什么区别?

OpenID和oAuth之间的真正区别是什么?他们看起来和我一样.

我应该澄清,我打算在drupal中使用它们,如果这有任何区别的话.所以我想我受到drupal中可用的任何模块实现的约束.

openid authentication oauth

131
推荐指数
5
解决办法
5万
查看次数

OpenID身份验证如何工作?

我有点好奇了解OpenID身份验证的工作原理.

OpenID身份验证与站点专门为自己使用的身份验证之间有什么区别吗?

openid authentication

97
推荐指数
3
解决办法
4万
查看次数

我在哪里可以找到OpenID提供商URL列表?

我在我的网站上实现了OpenID,但我很难找到OpenID提供者URL列表.我觉得这很容易找到,但是我已经在网上搜索过,只发现了一小撮,大多是偶然的.

是否有资源列出可用的提供商及其身份验证URL?

编辑:这是我到目前为止找到的.我没有尝试过所有这些,所以如果有任何错误,请告诉我.

StackExchange https://openid.stackexchange.com

Google https://www.google.com/accounts/o8/id - 2014年5月已弃用 - 2015年4月关闭

雅虎 https://me.yahoo.com

Flickr http://www.flickr.com/username

AOL http://openid.aol.com/username

Blogspot https://www.blogspot.com/

LiveJournal http://username.livejournal.com/

Wordpress https://username.wordpress.com/

VerisignLabs https://pip.verisignlabs.com/ - 2016年9月关闭

MyOpenID https://www.myopenid.com/ - 计划于2014年2月关闭

MyVidoop https://myvidoop.com/

Technorati https://technorati.com/people/technorati/username/

PayPal https://www.x.com/developers/paypal/documentation-tools/quick-start-guides/standard-openid-integration-paypal-access

openid authentication dotnetopenauth

89
推荐指数
2
解决办法
2万
查看次数

将OpenID委托给Google(不是Google Apps)

是否可以使用我的个人网站/博客登录使用openid的网站,并委托我的Google帐户?


好的,我在SO上搜索了这个问题,但没有好的答案.花了一些时间后,我想出了如何做到这一点.我将自己回答这个问题,作为分享它的一种方式.

openid delegation google-oauth

85
推荐指数
3
解决办法
9398
查看次数

用于网站的REST API,使用Facebook进行身份验证

我们有一个网站,登录和验证自己的网站的唯一方法是使用Facebook(这不是我的选择).第一次使用Facebook登录时,会自动为您创建一个帐户.

我们现在想为我们的网站创建一个iPhone应用程序,也为其他人创建一个公共API来使用我们的服务.

这个问题是关于如何通过app/API对我们的网站进行身份验证,并分为两部分:

  1. 从API到仅使用Facebook OAuth作为身份验证方法的网站处理REST身份验证的正确方法是什么?

    我已经阅读并研究了很多关于REST API的标准身份验证方法.我们不能通过HTTPS使用Basic Auth等方法,因为没有用户凭证.像这样的东西似乎只是用于使用API​​验证应用程序.

    目前,我认为最好的方法是在API上点击/授权终点,重定向到Facebook OAuth,然后重定向回站点并提供API的用户可以用来验证后续的"令牌"要求.

  2. 对于我们创建的官方应用程序,我们不一定需要以相同的方式使用公共API.那么与我们的网站交流并对用户进行身份验证的最佳方式是什么?

我理解(我认为)如何使用API​​(公共)密钥和秘密(私有)密钥验证使用我们的API的第三方应用程序.但是,当涉及到对正在使用该应用程序的用户进行身份验证时,我对如何进行此操作感到困惑,因为我们必须对用户进行身份验证的唯一方法是Facebook.

我觉得我错过了一些非常明显的东西,或者没有完全理解公共REST API应该如何工作,所以任何建议和帮助将不胜感激.

openid authentication rest facebook facebook-authentication

84
推荐指数
3
解决办法
4万
查看次数