如何得到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()?

如何得到DotNetOpenID Ajax文本框logingin事件火灾

看起来你已经正确地连接了。你有什么证据证明你的LoggingIn事件没有被召唤?您是否设置了断点来验证这一点?如果仅仅是您的ClaimsResponse总是为空,那可能是您正在测试的OpenID提供者忽略您的ClaimsRequest的证据。例如,如果您对Google进行测试,您必须将电子邮件地址标记为Required而不是Requested,并应用AXFetchAsSregTransform。

您所引用的页面上的说明,说明要添加该行OpenIdTextBox1.LogOn ();您的代码背后是指仅OpenIdTextBox控制-而不是OpenIdAjaxTextBox控制,你正在使用。