ASP.NET WebForms 谷歌登录

5
我一直在网上寻找一个解决方案,以便在asp.net webform应用程序中使用用户的Google帐户进行身份验证。
我只想让用户登录他的Google帐户,并返回到我的Web表单应用程序,其中包含显示名称、Google ID和电子邮件。从那里,我会处理其余的事情。
我尝试过http://dotnetopenauth.net/、Google .Net Api,但我从未找到一个可行的例子。
有人能指点我一个可行的例子吗?(C#或vb.net)

1
谢谢,但这是针对MVC平台而非WebForms的 :-( - ccr
1个回答

5

你考虑过尝试使用Nemiro.OAuth吗?它易于设置,支持asp.net和winforms,并且在线文档非常详细。

protected void RedirectToLogin_Click(object sender, EventArgs e)
{
  // gets a provider name from the data-provider
  string provider = ((LinkButton)sender).Attributes["data-provider"];
  // build the return address
  string returnUrl = new Uri(Request.Url, "ExternalLoginResult.aspx").AbsoluteUri;
  // redirect user into external site for authorization
  OAuthWeb.RedirectToAuthorization(provider, returnUrl);
}

protected void Page_Load(object sender, EventArgs e)
{
   var result = OAuthWeb.VerifyAuthorization();

   Response.Write(String.Format("Provider: {0}<br />", result.ProviderName));

   if (result.IsSuccessfully)
   {
      // successfully
      var user = result.UserInfo;
      Response.Write(String.Format("User ID:  {0}<br />", user.UserId));
      Response.Write(String.Format("Name:     {0}<br />", user.DisplayName));
      Response.Write(String.Format("Email:    {0}", user.Email));
    }
    else
    {
      // error
      Response.Write(result.ErrorInfo.Message);
    }
 }

您也可以按照此教程的步骤说明,使用Nemiro.OAuth库来使用OAuth。


嗨,Woodykiddy,谢谢,但是我找不到一个可以用于Google的工作示例 :-(,到目前为止,所有的示例都是与FB和Twitter一起的。你有任何想法在哪里可以找到它吗? - ccr
请查看此链接:https://github.com/alekseynemiro/nemiro.oauth.dll/blob/master/examples/GoogleDriveWebForms/Global.asax.cs。 - woodykiddy
还有这篇帮助文章:http://oauth.nemiro.net/?topic=html/aff36495-124c-a749-20ed-ce08ec915999.htm - woodykiddy
@woodykiddy,我需要关于Nemiro库的帮助。你能帮我吗?我的问题在https://stackoverflow.com/questions/49465126/using-nemiro-oauth-library-for-google-authentication-in-webforms。 - Sunil
@woodykiddy,谢谢并感谢你的帮助。我会仔细阅读并告诉你。 - Sunil
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接