如何得到DotNetOpenID Ajax文本框logingin事件火灾
本文关键字:logingin 事件 火灾 文本 Ajax 何得 DotNetOpenID | 更新日期: 2023-09-27 17:49:24
我使用的是DotNetOpenID Ajax文本框。我正试图让logingin事件触发以下代码。
protected void LoggingIn(object sender, OpenIdEventArgs e)
{
e.Request.AddExtension(new ClaimsRequest {
Email = DemandLevel.Request,
});
}
这是我正在使用的控件。
<RP:OpenIdAjaxTextBox ID="OpenIdAjaxTextBox" runat="server" OnLoggedIn="LogIn" OnLoggingIn="LoggingIn" OnUnconfirmedPositiveAssertion="UnconfirmedPositiveAssertion" OnClientAssertionReceived="onauthenticated(sender)" />
该事件何时触发?有人可以澄清我的困惑,这样我就可以得到ClaimsRequest正常工作?
我似乎已经得到了一切工作正常,除了ClaimsRequest,因为sregg总是空的。我一直按照下一页上的说明去做。
http://www.dotnetopenauth.net/developers/code-snippets/openid-relying-party-using-asp-net-controls/上面的页面似乎有一个错误。它说要将以下行添加到您自己的登录按钮中。
OpenIdTextBox1.LogOn();
然而,没有登录功能,我可以在控件中找到。这应该是logingin()还是LogIn()?
看起来你已经正确地连接了。你有什么证据证明你的LoggingIn
事件没有被召唤?您是否设置了断点来验证这一点?如果仅仅是您的ClaimsResponse
总是为空,那可能是您正在测试的OpenID提供者忽略您的ClaimsRequest的证据。例如,如果您对Google进行测试,您必须将电子邮件地址标记为Required而不是Requested,并应用AXFetchAsSregTransform。
您所引用的页面上的说明,说明要添加该行OpenIdTextBox1.LogOn ();您的代码背后是指仅OpenIdTextBox
控制-而不是OpenIdAjaxTextBox
控制,你正在使用。