Google+ Authentication in ASP.Net

Google+ Authentication in ASP.Net

How to get Google API access:

  • Click the "Create new client ID" button.

  • It will open a dialog box to create a new Client ID.

  • Select Web Application and Set the Authorized JavaScript origins (example: http://localhost), Authorized redirect URIs (example: http://localhost/googleplus/Test.aspx).
  • Click "Create Client ID" and it will create a Client ID detail.

  • Redirect URIs and Client ID need to replaced in the Test.aspx file.

ASP.Net application

In the code below, first set your Client ID and Redirect URI. I have provided an example to show the logged in username and profile image, you can use it in any other way also. In the function getUserInfo(), you can get the results as username, email and and so on.

jQuery Link:jQuery.js

  1. <HTML>
  2. <Head>
  3. <script src="jquery.js" temp_src="jquery.js" type="text/javascript"></script>
  4. <script language="javascript" type="text/javascript">
  5. var OAUTHURL = ‘https://accounts.google.com/o/oauth2/auth?‘;
  6. var VALIDURL = ‘https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=‘;
  7. var SCOPE = ‘https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email‘;
  8. var CLIENTID = ‘132264420893-na047nu1sif8dn1p6qaug895feu2lqbp.apps.googleusercontent.com‘;
  9. var REDIRECT = ‘http://localhost/googleplus/Test.aspx‘;
  10. var LOGOUT = ‘http://accounts.google.com/Logout‘;
  11. var TYPE = ‘token‘;
  12. var _url = OAUTHURL + ‘scope=‘ + SCOPE + ‘&client_id=‘ + CLIENTID + ‘&redirect_uri=‘ + REDIRECT + ‘&response_type=‘ + TYPE;
  13. var acToken;
  14. var tokenType;
  15. var expiresIn;
  16. var user;
  17. var loggedIn = false;
  18. function login()
  19. {
  20. var win = window.open(_url, "windowname1", ‘width=800, height=600‘);
  21. var pollTimer = window.setInterval(function () {
  22. try
  23. {
  24. console.log(win.document.URL);
  25. if (win.document.URL.indexOf(REDIRECT) != -1)
  26. {
  27. window.clearInterval(pollTimer);
  28. var url = win.document.URL;
  29. acToken = gup(url, ‘access_token‘);
  30. tokenType = gup(url, ‘token_type‘);
  31. expiresIn = gup(url, ‘expires_in‘);
  32. win.close();
  33. validateToken(acToken);
  34. }
  35. }
  36. catch (e)
  37. {
  38. }
  39. }, 500);
  40. }
  41. function validateToken(token)
  42. {
  43. $.ajax(
  44. {
  45. url: VALIDURL + token,
  46. data: null,
  47. success: function (responseText)
  48. {
  49. getUserInfo();
  50. loggedIn = true;
  51. $(‘#loginText‘).hide();
  52. $(‘#logoutText‘).show();
  53. },
  54. dataType: "jsonp"
  55. });
  56. }
  57. function getUserInfo()
  58. {
  59. $.ajax({
  60. url: ‘https://www.googleapis.com/oauth2/v1/userinfo?access_token=‘ + acToken,
  61. data: null,
  62. success: function (resp)
  63. {
  64. user = resp;
  65. console.log(user);
  66. $(‘#uName‘).text(‘Welcome ‘ + user.name);
  67. $(‘#imgHolder‘).attr(‘src‘, user.picture);
  68. },
  69. dataType: "jsonp"
  70. });
  71. }
  72. //credits: http://www.netlobo.com/url_query_string_javascript.html
  73. function gup(url, name)
  74. {
  75. namename = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  76. var regexS = "[\\#&]" + name + "=([^&#]*)";
  77. var regex = new RegExp(regexS);
  78. var results = regex.exec(url);
  79. if (results == null)
  80. return "";
  81. else
  82. return results[1];
  83. }
  84. function startLogoutPolling()
  85. {
  86. $(‘#loginText‘).show();
  87. $(‘#logoutText‘).hide();
  88. loggedIn = false;
  89. $(‘#uName‘).text(‘Welcome ‘);
  90. $(‘#imgHolder‘).attr(‘src‘, ‘none.jpg‘);
  91. }
  92. </script>
  93. </Head>
  94. <body>
  95. <a href=‘#‘ onClick=‘login();‘ id="loginText"‘> Google Plus </a>
  96. <a href="#" temp_href="#" style="display:none" id="logoutText" target=‘myIFrame‘ onclick="myIFrame.location=‘https://www.google.com/accounts/Logout‘; startLogoutPolling();return false;"> Click here to logout </a>
  97. <iframe name=‘myIFrame‘ id="myIFrame" style=‘display:none‘></iframe>
  98. <div id=‘uName‘></div>
  99. <img src=‘‘ id=‘imgHolder‘/>
  100. </body>
  101. </HTML>

src: http://www.c-sharpcorner.com/UploadFile/vdtrip/google-plus-authentication-in-Asp-Net-and-C-Sharp/

时间: 2024-10-07 09:31:00

Google+ Authentication in ASP.Net的相关文章

Google Authentication的实现 - Odoo 安全登录

在前边的一篇文章中,我们提到了利用二次验证增强Odoo登录的可靠性:http://www.cnblogs.com/kfx2007/p/6023991.html 今天我们来具体实现这一步: 后端的实现 我们需要一个地方来存储二次验证的安全码,拓展用户字段: class res_users(models.Model): _inherit='res.users' enable_google_auth = fields.Boolean(u'启用Google两步验证') otp_str = fields.

ldap + kerberos + google authentication 实现两步验证

第一步:ldap + kerberos 整合  ,参考之前的文章 第二步:google authentication 安装配置,参考之前的文章 第三步:整合 ldap + kerberos + google authentication 1. 由于sshd默认在使用了秘钥或者kerberos验证的时候,就通过了验证,不再执行google authentication的动态密码验证,所以我们需要新版本的sshd的AuthenticationMethods选项 支持,这个选项参数指定sshd必须完成

Implement JSON Web Tokens Authentication in ASP.NET Web API and Identity 2.1

http://bitoftech.net/2015/02/16/implement-oauth-json-web-tokens-authentication-in-asp-net-web-api-and-identity-2/ Currently our API doesn’t support authentication and authorization, all the requests we receive to any end point are done anonymously, I

Using Windows authentication in ASP.NET Web Pages

Tuesday, 16 August 2011   10:53 AM When I wrote about using simple membership in ASP.NET Web Pages a little while ago, commenter akshayms asked "How can I use Windows authentication"? Simple membership uses a login form and a membership database

centos 6 SSH配置Google Authentication 验证

创建工作目录: mkdir google-authentication 1. 安装二维码生成依赖 #wget http://fukuchi.org/works/qrencode/qrencode-3.3.1.tar.gz # tar xf qrencode-3.3.1.tar.gz #cd qrencode-3.3.1 #./configure --prefix=/usr && make && make install 2. 安装Google-authenticator #

Active Directory Authentication in ASP.NET MVC 5 with Forms Authentication and Group-Based Authorization

I know that blog post title is sure a mouth-full, but it describes the whole problem I was trying to solve in a recent project. The Project Let me outline the project briefly.  We were building a report dashboard-type site that will live inside the c

Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]

前言 本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api.出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了.鉴于以上两个原因,本人打算借助google翻译和有道词典,来翻译学习这个系列,并通过博客园来记录自己的翻译学习过程.由于自己阅读水平的确太菜,在借助工具的情况下,有时候搞出来的也是蹩脚的语句,自己读着都难受,尤其是到了Web API路由的那两篇,所以自己想着是不是有别人

【ASP.NET Identity系列教程(三)】Identity高级技术

注:本文是[ASP.NET Identity系列教程]的第三篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序的用户管理,以及实现应用程序的认证与授权等相关技术,译者希望本系列教程能成为掌握ASP.NET Identity技术的一份完整而有价值的资料.读者若是能够按照文章的描述,一边阅读.一边实践.一边理解,定能有意想不到的巨大收获!希望本系列博文能够得到广大园友的高度推荐. 15 Advanced ASP

ASP.NET Identity系列教程

注:最近看到不少介绍微软ASP.NET Identity技术的文章,但感觉都不够完整深入,本人又恰好曾在Adam Freeman所著的<Pro ASP.NET MVC Platform>一书中看到过有关ASP.NET Identity的完整介绍,为此特将有关章节翻译出来,希望需要了解此项技术的园友能从中获益. ASP.NET Identity系列教程 13 Getting Started with Identity 13 Identity入门 13.1 Preparing the Exampl