używam dll DotNetOpenID do logowania mój przykładową aplikację poprzez uwierzytelniania gmail przez C# .NETLogowanie z konta gmail przez C# .NET
kod, który I używany był
protected void Page_Load(object sender, EventArgs e)
{
OpenIdRelyingParty rp = new OpenIdRelyingParty();
var r = rp.GetResponse();
if (r != null)
{
switch (r.Status)
{
case AuthenticationStatus.Authenticated:
NotLoggedIn.Visible = false;
Session["GoogleIdentifier"] = r.ClaimedIdentifier.ToString();
Response.Redirect("About.aspx"); //redirect to main page of your website
break;
case AuthenticationStatus.Canceled:
lblAlertMsg.Text = "Cancelled.";
break;
case AuthenticationStatus.Failed:
lblAlertMsg.Text = "Login Failed.";
break;
}
}
}
protected void OpenLogin_Click(object src, CommandEventArgs e)
{
string discoveryUri = e.CommandArgument.ToString();
OpenIdRelyingParty openid = new OpenIdRelyingParty();
var b = new UriBuilder(Request.Url) { Query = "" };
var req = openid.CreateRequest(discoveryUri, b.Uri, b.Uri);
req.RedirectToProvider();
}
to działa dobrze po kliknięciu przycisk logowania do Gmaila przechodzi na stronę Gmaila i uwierzytelnia się w razie potrzeby.
ale mój problem jest stan AuthenticationStatus.Authenticated nie powiodło po uwierzytelnieniu zawsze chociaż daję prawidłową nazwę użytkownika i hasło do konta gmail
Czekam na cenne odpowiedzi i komentarze
jest jakiś sposób, wylogować się po pomyślnym uwierzytelnieniu w OpenId. Proszę pomóż..? – Sutirth
zobacz te linki..http: //stackoverflow.com/questions/18530457/logout-with-gmail-account-through-c-sharp-net –