【问题标题】:Does DotNetOpenAuth OpenId Provider actually work?DotNetOpenAuth OpenId Provider 真的有效吗?
【发布时间】:2011-08-17 15:37:01
【问题描述】:

使用DotNetOpenAuth。我正在尝试让 Provider 端点工作。当我在代码上设置断点以接受 OpenId 请求时:

IRequest request = OpenIdProvider.GetRequest();

当我使用依赖方调用提供程序时,这将返回 null。我托管了解决方案,它也是同样的问题。我也将 localhost 添加到了白名单中。

但关键是,请求到达提供者但它说没有 openId 请求。这里是提供者endpoint,如果你想测试的话。

【问题讨论】:

  • 它适用于大多数尝试过它的人,包括我自己:codesprout.blogspot.com/search/label/dotnetopenauth
  • @Lirik,如果您将 RP 指向我的,它会返回任何内容吗?我也在谈论供应商。您仅在您的博文中实施了 RP
  • 没关系,我知道你在做什么......我从来没有尝试过。但是,我会使用HttpRequestInfo 重载GetRequest method 来确保有可以处理的请求。否则,我不确定您如何真正知道何时有可以检索的请求。
  • @Lirik,是的,有一个请求进来,只是来自 DNOA OpenIdProvider.GetRequest() 提供的 API 返回 null。
  • 我的意思是,如果你真的打电话给OpenIdProvider.GetRequest(HttpRequestInfo request) 并指定请求,那么你实际上可能会得到一些回报。我用当前频道查看了source codeGetRequest() 调用GetRequest(HttpRequestInfo...)。跟踪并确保 Channel 中有请求。

标签: asp.net-mvc asp.net-mvc-3 openid dotnetopenauth


【解决方案1】:

我认为您可能会将“OP 标识符”或声明的标识符与 OP 端点混淆。您的页面声称是一个 OP 端点,它可能是。但是没有人可以直接测试。您需要在 RP 中键入 OpenID identifier 以启动进程,并且该标识符告诉 RP 与哪个 OP Endpoint 通信。所以很有可能,如果您在 RP 中输入 http://dev1.ncu.edu.jm/openid/provider,RP 会向该 URL 发送发现请求,但在那里看不到任何 标识符

尝试将标识符指向该 OP 端点并将该标识符传递给 RP。

另外,RP 和 OP 上的activating logging 肯定会提供一些有用的提示。

【讨论】:

  • 我不太确定我是否理解。我希望它表现得像谷歌。我需要标识符吗?
  • 我看到了你的解释stackoverflow.com/questions/3557430/…。我现在了解这些差异,但我不知道如何使 OP Idenfifier 成为静态的。我只想创建一个按钮并自动指向端点
猜你喜欢
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多