none
LOGIN CON GOOGLE RRS feed

  • Pregunta

  • Hola que tal, Tengo un aplicación hecha en asp.net forms en el cual voy a implementar la autentificación  con google alguna información o ejemplo que me podrían proporcionar

    Url

    jueves, 28 de septiembre de 2017 18:19

Respuestas

  • Hola...

    lo primero que tienes que hacer es entrar en las Api's de google y registrarte  activar la autentificacion Google..registrar la url desde donde te vas a conectar ellos te dan un clienteId y un ClienteSecret ...lo demas es algo asi como el codigo que te dejo

    using System; using ASPSnippets.GoogleAPI; using System.Web.Script.Serialization; namespace SantaGemaList
    {
        public partial class Default : System.Web.UI.Page
        {
            private Model.MySqlMetodo Metodo = new Model.MySqlMetodo();
            private Controller.TrasmisionData Valor = Controller.TrasmisionData.Instance();
            private Controller.Utilidad Sub = new Controller.Utilidad();

            protected void Page_Load(object sender, EventArgs e)
            {
              
               if (Session["Splash"] == null)
                {
                    Response.Redirect("Splash.aspx");
                }
                else if(Session ["Splash"]!=null)
                {
                    Session["Administrador"] = "FALSE";
                    if (!IsPostBack)
                    {
                        GoogleAutentificacion();
                        SessionNoW();
                    }
                }
            }
         
            public void GoogleAutentificacion()
            {
                GoogleConnect.ClientId = Valor.GoogleClientId ();
                GoogleConnect.ClientSecret = Valor.GoogleClientSecret ();
                GoogleConnect.RedirectUri = Request.Url.AbsoluteUri.Split('?')[0];
                if (!String.IsNullOrEmpty(Request.QueryString["code"]))
                {
                    String code = Request.QueryString["code"];
                    String json = GoogleConnect.Fetch("me", code);
                    Controller.DataGoogle.GoogleProfile perfil = new JavaScriptSerializer().Deserialize<Controller.DataGoogle.GoogleProfile>(json);
                    Session["PerfilID"] = perfil.Id;
                    Session["PerfilNombre"] = perfil.DisplayName;
                    Session["PerfilEmail"] = perfil.Emails.Find(email => email.Type == "account").Value;
                    Session["PerfilSexo"] = perfil.Gender;
                    Session["PerfilTipo"] = perfil.ObjectType;
                    Session["PerfilImagen"] = perfil.Image.Url.ToString();
                }
                if (Session["PerfilEmail"] != null)
                {
                    if (Sub.ValidarMail(Session["PerfilEmail"].ToString().ToLower()))
                    {
                        Response.Redirect("~/View/StaGemaList/MenuPrincipal.aspx");
                    }
                    else
                    {
                        String ScriptAct = "<script language='javascript'>" + "NoAutenticadoStaGema();" + "</script>";
                        ClientScript.RegisterStartupScript(this.GetType(), "NoAutenticadoStaGema();", ScriptAct);
                    }
                 }
            }
             //GoogleConnect.Clear();
            //GoogleConnect.Authorize(Server.UrlEncode("https://www.google.com/m8/feeds/"));
            //GoogleConnect.API = EnumAPI.Contacts;

            private void SessionNoW()
            {
                Session["PerfilID"] = "2545465845383";
                Session["PerfilNombre"] = "NombreProfesor Apellido Profesor";
                Session["PerfilEmail"] = "usuarioprofesor@colegio-santagema.es";
                Session["PerfilSexo"] = "Male";
                Session["PerfilTipo"] = "Person";
                Session["PerfilImagen"] = "~/View/Imagen/Capucha.JPG";
            }

            protected void Button1_Click(object sender, EventArgs e)
            {
                GoogleConnect.Authorize("profile", "email");
            }

        }//FIN DE LA CLASE
    }// FIN DEL NAMESPACE using System; using System.Collections.Generic; using System.Linq; using System.Web; using ASPSnippets.GoogleAPI; using System.Web.Script.Serialization; namespace SantaGemaList.Controller { public class DataGoogle { public class GoogleProfile { public string Id { get; set; } public string DisplayName { get; set; } public Image Image { get; set; } public List<Email> Emails { get; set; } public string Gender { get; set; } public string ObjectType { get; set; } } public class Email { public string Value { get; set; } public string Type { get; set; } } public class Image { public string Url { get; set; } } } }

    namespace SantaGemaList.Controller
    {
        public class TrasmisionData  
        {
            private static TrasmisionData Dato ;
            private  TrasmisionData () { }
            public static TrasmisionData Instance()
            {
                if (Dato == null)  {Dato = new TrasmisionData();}
                return Dato;
            }
           
           private String ClientId = "751498890622-3ejc2s02n49efm08h7kiptml8nr55j9h.apps.googleusercontent.com";
           private String ClientSecret = "5x69n3kDB6iwMkqg2oWzqi0v";
            
            public String GoogleClientId() { return ClientId; }
            public String GoogleClientSecret() { return ClientSecret; }

            private String ccRoot = "colegio-santagema.es";
            public String StaGemaAutMail() { return ccRoot; }

            private String miRoot = "efrainmejiasc@gmail.com";
            public String MiRootMail() { return miRoot; }
        }
     }



    EFRAIN MEJIAS C VALENCIA - VENEZUELA




    jueves, 28 de septiembre de 2017 20:54

Todas las respuestas

  • Hola que tal, Tengo un aplicación hecha en asp.net forms en el cual voy a implementar la autentificación  con google alguna información o ejemplo que me podrían proporcionar

    Url

    https://code.msdn.microsoft.com/MVC5-Authentication-App-b5200efd
    jueves, 28 de septiembre de 2017 19:08
  • hola

    por lo general la autenticacion esta mas pensada para asp.net mvc, pero se podria ver si con OAuth se podria realizar

    OAuth 2.0

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 28 de septiembre de 2017 19:54
  • Hola...

    lo primero que tienes que hacer es entrar en las Api's de google y registrarte  activar la autentificacion Google..registrar la url desde donde te vas a conectar ellos te dan un clienteId y un ClienteSecret ...lo demas es algo asi como el codigo que te dejo

    using System; using ASPSnippets.GoogleAPI; using System.Web.Script.Serialization; namespace SantaGemaList
    {
        public partial class Default : System.Web.UI.Page
        {
            private Model.MySqlMetodo Metodo = new Model.MySqlMetodo();
            private Controller.TrasmisionData Valor = Controller.TrasmisionData.Instance();
            private Controller.Utilidad Sub = new Controller.Utilidad();

            protected void Page_Load(object sender, EventArgs e)
            {
              
               if (Session["Splash"] == null)
                {
                    Response.Redirect("Splash.aspx");
                }
                else if(Session ["Splash"]!=null)
                {
                    Session["Administrador"] = "FALSE";
                    if (!IsPostBack)
                    {
                        GoogleAutentificacion();
                        SessionNoW();
                    }
                }
            }
         
            public void GoogleAutentificacion()
            {
                GoogleConnect.ClientId = Valor.GoogleClientId ();
                GoogleConnect.ClientSecret = Valor.GoogleClientSecret ();
                GoogleConnect.RedirectUri = Request.Url.AbsoluteUri.Split('?')[0];
                if (!String.IsNullOrEmpty(Request.QueryString["code"]))
                {
                    String code = Request.QueryString["code"];
                    String json = GoogleConnect.Fetch("me", code);
                    Controller.DataGoogle.GoogleProfile perfil = new JavaScriptSerializer().Deserialize<Controller.DataGoogle.GoogleProfile>(json);
                    Session["PerfilID"] = perfil.Id;
                    Session["PerfilNombre"] = perfil.DisplayName;
                    Session["PerfilEmail"] = perfil.Emails.Find(email => email.Type == "account").Value;
                    Session["PerfilSexo"] = perfil.Gender;
                    Session["PerfilTipo"] = perfil.ObjectType;
                    Session["PerfilImagen"] = perfil.Image.Url.ToString();
                }
                if (Session["PerfilEmail"] != null)
                {
                    if (Sub.ValidarMail(Session["PerfilEmail"].ToString().ToLower()))
                    {
                        Response.Redirect("~/View/StaGemaList/MenuPrincipal.aspx");
                    }
                    else
                    {
                        String ScriptAct = "<script language='javascript'>" + "NoAutenticadoStaGema();" + "</script>";
                        ClientScript.RegisterStartupScript(this.GetType(), "NoAutenticadoStaGema();", ScriptAct);
                    }
                 }
            }
             //GoogleConnect.Clear();
            //GoogleConnect.Authorize(Server.UrlEncode("https://www.google.com/m8/feeds/"));
            //GoogleConnect.API = EnumAPI.Contacts;

            private void SessionNoW()
            {
                Session["PerfilID"] = "2545465845383";
                Session["PerfilNombre"] = "NombreProfesor Apellido Profesor";
                Session["PerfilEmail"] = "usuarioprofesor@colegio-santagema.es";
                Session["PerfilSexo"] = "Male";
                Session["PerfilTipo"] = "Person";
                Session["PerfilImagen"] = "~/View/Imagen/Capucha.JPG";
            }

            protected void Button1_Click(object sender, EventArgs e)
            {
                GoogleConnect.Authorize("profile", "email");
            }

        }//FIN DE LA CLASE
    }// FIN DEL NAMESPACE using System; using System.Collections.Generic; using System.Linq; using System.Web; using ASPSnippets.GoogleAPI; using System.Web.Script.Serialization; namespace SantaGemaList.Controller { public class DataGoogle { public class GoogleProfile { public string Id { get; set; } public string DisplayName { get; set; } public Image Image { get; set; } public List<Email> Emails { get; set; } public string Gender { get; set; } public string ObjectType { get; set; } } public class Email { public string Value { get; set; } public string Type { get; set; } } public class Image { public string Url { get; set; } } } }

    namespace SantaGemaList.Controller
    {
        public class TrasmisionData  
        {
            private static TrasmisionData Dato ;
            private  TrasmisionData () { }
            public static TrasmisionData Instance()
            {
                if (Dato == null)  {Dato = new TrasmisionData();}
                return Dato;
            }
           
           private String ClientId = "751498890622-3ejc2s02n49efm08h7kiptml8nr55j9h.apps.googleusercontent.com";
           private String ClientSecret = "5x69n3kDB6iwMkqg2oWzqi0v";
            
            public String GoogleClientId() { return ClientId; }
            public String GoogleClientSecret() { return ClientSecret; }

            private String ccRoot = "colegio-santagema.es";
            public String StaGemaAutMail() { return ccRoot; }

            private String miRoot = "efrainmejiasc@gmail.com";
            public String MiRootMail() { return miRoot; }
        }
     }



    EFRAIN MEJIAS C VALENCIA - VENEZUELA




    jueves, 28 de septiembre de 2017 20:54