DotNetOpenAuth:何时调用 StoreNewRequestToken?
我正在尝试实现 DotNetOpenAuth,而不使用 OpenId 提供程序。 获取 RequestToken
对我的实现不起作用。
我正在调用一个方法,该方法调用 ServiceProvider.ReadRequest()
。 这是调用 IServiceProviderTokenManager.GetRequestToken(string token)
。 此时,没有找到 RequestToken
,因为我期望此方法创建 RequestToken
。
但创建 RequestToken
是由 StoreNewRequestToken
方法处理的。 这个方法什么时候被调用? 或者我怎样才能让这个方法被调用?
I'm trying to implement DotNetOpenAuth, without using an OpenId-provider.
Getting a RequestToken
does not work on my implementation.
I'm calling a method, which calls the ServiceProvider.ReadRequest()
.
This is calling the IServiceProviderTokenManager.GetRequestToken(string token)
.
At this point, no RequestToken
is found, because I was expecting this method to create a RequestToken
.
But creating a RequestToken
is handled by the method StoreNewRequestToken
.
When does this method get called?
Or how can I make this method being called?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您的 OAuth SP 主机代码要么写错了,要么消费者可能提供了先前尝试中的令牌。请激活日志记录并将日志添加到您的问题中。
我相信当您实际使用
ServiceProvider.PrepareUnauthorizedTokenMessage
向消费者传输响应并使用ServiceProvider.Channel.Send
发送其结果时,DotNetOpenAuth 会调用您的StoreNewRequestToken
方法。代码>.在此之前,我认为 DNOA 不应该调用您的GetRequestToken
因为消费者不应该有任何令牌可以尝试 - 因此我之前的建议是消费者可能正在使用旧令牌(或发生故障)。It sounds like your OAuth SP host code is either miswritten or the Consumer is possibly providing a token from an earlier attempt. Please activate logging and add logs to your question.
I believe DotNetOpenAuth calls your
StoreNewRequestToken
method when you are actually transmitting your response to the Consumer usingServiceProvider.PrepareUnauthorizedTokenMessage
and sending its result usingServiceProvider.Channel.Send
. Before that, I don't think DNOA should be calling yourGetRequestToken
yet because the Consumer shouldn't have any token to try with -- thus my earlier suggestion that the consumer is possibly using an old token (or malfunctioning).