题
我开始严重怀疑的OpenID社会尽管有这样的事实,它的工作。
我在这个过程中的目前正在评估OpenID作为认证服务"这个"网站,并同时承诺是巨大的,我只是不能得到它的工作。我真的丢失。
我问的所以社会帮助我离开这里。给我回答,并展示我的实例,因此我可以利用这一方式意味着要。
我的情况是非常典型。我要用户进行身份验证通过一个具体的谷歌应用领域。如果你有接到这个谷歌应用领域,那么你已经接到我的网应用程序。
我迷路了,是所有先决条件,并且依赖参与。
- 是什么为?
- 什么是卡尔顿雅迪斯?
- 我为什么需要X和卡尔顿雅迪斯?
- 什么我需要做到部署OpenID证在我的网站?
此外,这真的对我很重要。
当我登录到因此,我使用我的帐户。当我登录按钮我提出这个确认页。我授予所有权使用我的谷歌账户的凭据。
某种程度上,谷歌都知道,这是"Stackoverflow.com"这就是问我,如果它是好的登录。我想知道什么方式控制我已经在这个小的文本。我打算部署OpenID在几个不同的领域,但我希望,如果他们会的所有工作没有必要单独配置有专用参数,例如秘密API钥匙,什么不是。然而,我不知道如果这是一个先决条件的OpenID,或者联合登录API谷歌提供的。
解决方案 3
其实我已经找到一个解决我的问题,并surpsingly因此,这是非常简单。我还是不明白XRDS和卡尔顿雅迪斯但是我利用很容易喜欢这样。
你想要什么,你在找什么是代码做OpenID"中继党"的东西。这就是"你"作为消费者的OpenID提供者。你进入一个OpenID端点,瞧,你OpenID启用的网站,这个代码的说明,在实践。
// using DotNetOpenAuth
var openid = new OpenIdRelyingParty();
var response = openid.GetResponse();
if (response == null)
{
// Google account end point (works fine)
var googleID = "https://www.google.com/accounts/o8/id";
// Google hosted account end point
// https://www.google.com/accounts/o8/site-xrds?hd=mydomain.com
// I was unable to test this, but I was running my RP (this code)
// from localhost and it's quite possible that a hosted account RP
// has to return to the same domain.
// It went fine, but crashed with a "Unable to resolve mydomain.com" error
// once I logged in.
openid.CreateRequest(googleID).RedirectToProvider();
}
else
{
switch (response.Status)
{
case AuthenticationStatus.Authenticated:
// Success
// to allow persistance across sessions
// you'll have to track the "claimed identifier"
// some OpenID providers allow you to get an email address through
// extensions but this is not always possible.
// the claimed identifier is typically your safest bet
// and it's a big URL which uniquely identifies the guest
// as a specific user, however, you know very little about this user
// which is a good thing becuase you don't have to give out personal or
// sensitive information to start using a service.
break;
default:
// Something went wrong, check Status property
break;
}
}
虽然我搞清楚这个,我得到的印象是,从每一个规范。在那里,我应该东道我自己"OpenID提供商",使得它的声音,好像我是应该处理帐户或其中的一些部分的进程。在现实中我所要做的就是这样的。
请求该网址,或者如果你收到OpenID请求的响应。检查看看如果这一请求含有效的登录的信息。
其他提示
实际上回答你的问题(即不顾所有的争论点),我作为我们发言的使用 DotNetOpenAuth 执行OpenID授权我的一个网站;而且它已经相当微不足道的。
这只是一个。净控制你放弃它,配置一个很小量的东西,然后让它链接,以形成认证。相当不错。
好吧,你有很多问题的下一个头。让我看看如果我可以打破。
为和卡尔顿雅迪斯:
"乔治"是本服务的名称发现大块OpenID--的位,让你从"我OpenID是example.com"到"权威服务器为我OpenID是在openid.example.com/server 它支持v2与斧头的扩展。" XRDS是XML模式,认为,信息。
(事实上,OpenID(一个标准我们开发的通过没有公认的标准体)取决于为(从另一工作正在进行的标准 一个完全不同的标准机构)是也许令人遗憾的。所有我能说的是,这似乎是一个好想法的时候。)
"什么我需要做到部署?"
见约瑟夫*Smarr的 一个配方OpenID-让你的网站.圣牛,那就2岁了吗?它仍然相关,但是。
如何OpenID提供者识别网站(依赖者):
那个小的文字(如"stackoverflow.com")是OpenID"领土",这是一个参数,通过提供者,是一个严格的子集的终端网址用来处理他们的反应。(所以如果你告诉服务器发送的OpenID响应server2.example.com/foobar,您的领域可以example.com或server2.example.com或server2.example.com/foobar但不server99.example.com.)
秘密API键:
在一般情况下,没有带外秘密API关键的获得。一般用途OpenID提供者,钥匙是刚刚发布的通过标准OpenID协会的机制。
现在你已经打了一些特点在这里这一个OpenID的供应商可能会当然考虑有价值的--就像"我怎么能告诉用户在一个更为用户友好的方式是什么网站他们记录在对于展示他们的URL摘录"或"如何可以识别这一请求是真的,来自一个RP我有某种形式的合同关系",但是这样的特点是没有任何东西,是在OpenID2.0标准。
这听起来像你真的要调查 根据 -它是一个解决方案,使得它很容易用于开发人员(用户)使用其首选的认证机制,包括OpenID.
作为一个代理之间的第三方供应商的身份和你的网站,根据可以帮助你轻松的用户进行身份验证与他们的现有帐户上Facebook、谷歌、雅虎, Twitter、MySpace、AOL,Windows Live/MSN/Hotmail,或任何其他OpenID提供者。
以我的经验,是的。
我试图用DotNetOpenAuth,特别是在单,并不快,和我尝试了很多方法来获得它的工作,并最终得到非常沮丧。
没有我用替代品 LoginRadius (使用的已经有一支我有),并发现它很容易,加上它会弹出一个弹出式窗口,以执行认证,这是如何我想它与DotNetOpenAuth.
他们看起来免费的时刻,但它说,测试阶段。所以他们可能会收取它的未来...