Google のみを認証プロバイダーとして使用して、Web サイトに OpenID を実装しようとしています。OpenIdButton コントロールを使用して、ユーザーを Google Apps ログインに誘導しています。これは、ユーザーが常に同じ場所に移動できるようにするためです。
ボタンはそれらを適切な場所に送信し、ReturnToUrl に正しく返しますが、OnLoggedIn イベントが発生したようには見えません。メソッドで TextBox 値を設定してイベントをチェックしていますが、TextBox 値に変化が見られません。これが私のコードです...
<tr>
<td>
<asp:TextBox ID="devMsg" runat="server"/>
</td>
</tr>
<tr>
<td valign="top" align="center">
<font size="-1"><b>Sign in with your</b></font>
<br />
<br />
<rp:OpenIdButton ID="OpenIdButton1" runat="server" Text="Login with your Google account!"
ImageUrl="http://www.google.com/accounts/google_transparent.gif"
Identifier="https://www.google.com/accounts/o8/site-xrds?hd=dev.connexcloud.com"
ReturnToUrl="http://localhost:1587/OpenIdRelyingPartyWebForms/loginGoogleApps.aspx"
OnLoggedIn="OpenIdLogin_LoggedIn" />
<br />
<br />
<font size="-1"><b>Account</b></font>
</td>
</tr>
protected void OpenIdLogin_LoggedIn(object sender, OpenIdEventArgs e)
{
this.devMsg.Text = "no response";
if (e.Response != null)
{
devMsg.Text = "response";
switch (e.Response.Status)
{
case AuthenticationStatus.Authenticated:
this.devMsg.Text = "authenicated";
break;
case AuthenticationStatus.Canceled:
this.devMsg.Text = "canceled";
break;
case AuthenticationStatus.Failed:
this.devMsg.Text = "failed";
break;
}
}
}
TextBox は何にも設定されていないので、応答が Google から戻ってきたときに OpenIdLogin_LoggedIn 呼び出しが行われないように見えます。