1
openid 개념을 구현하려하지만 실패했습니다. 나는 다른 견본 양식 인터넷을 시도하고 그들을 실행합니다. 내가 달릴 때 그들은 공급자에 대한 자동 치료를 요청합니다. Gmail을 선택하면 Gmail 사이트로 리디렉션됩니다. 이메일과 비밀번호를 입력하고 제출합니다. 대신 성공적인 로그인 페이지로 리디렉션됩니다. 나를 로그인 페이지로 리디렉션하고 로그인 실패 사례가 실행됩니다. 한 가지 더 Gmail Gmail 계정을 열었을 때 열었습니다. 나는 상태가 실패한 이유를 모른다. 샘플 i의 코드 중 하나가 시도했습니다.case AuthenticationStatus.Failed : asp.net을 사용하는 openid에서
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OpenIdRelyingParty OIDRP = new OpenIdRelyingParty();
IAuthenticationResponse str = OIDRP.GetResponse();
if (str != null)
{
switch (str.Status)
{
case AuthenticationStatus.Authenticated:
NotLoggedIn.Visible = false;
Session["GoogleIdentifier"] = str.ClaimedIdentifier.ToString();
Response.Redirect("Home.aspx"); //redirect to main page of your website
break;
case AuthenticationStatus.Canceled:
lblMessage.Text = "Cancelled.";
break;
case AuthenticationStatus.Failed:
lblMessage.Text = "Login Failed.";
break;
}
}
}
protected void OpenLogin_Click(object src, CommandEventArgs e)
{
string str = e.CommandArgument.ToString();
OpenIdRelyingParty openid = new OpenIdRelyingParty();
var b = new UriBuilder(Request.Url) { Query = "" };
IAuthenticationRequest req= openid.CreateRequest(str, b.Uri, b.Uri);
req.RedirectToProvider();
}
}