public virtual ActionResult Login() { //get current application name string oAppName = base.GetAppNameByDomain(base.ReturnUrl); ViewBag.AppName = oAppName; //get fb client DotNetOpenAuth.ApplicationBlock.FacebookClient FBClient = GetFBClient(oAppName); //validate autentication DotNetOpenAuth.OAuth2.IAuthorizationState authorization = FBClient.ProcessUserAuthorization(); if (authorization == null) { //user is not login FBClient.RequestUserAuthorization(scope: new[] { DotNetOpenAuth.ApplicationBlock.FacebookClient.Scopes.UserAboutMe, DotNetOpenAuth.ApplicationBlock.FacebookClient.Scopes.Email, DotNetOpenAuth.ApplicationBlock.FacebookClient.Scopes.UserBirthday }); } else { //get social user info DotNetOpenAuth.ApplicationBlock.IOAuth2Graph oauth2Graph = FBClient.GetGraph( authorization, new[] { DotNetOpenAuth.ApplicationBlock.FacebookGraph.Fields.Defaults, DotNetOpenAuth.ApplicationBlock.FacebookGraph.Fields.Email, DotNetOpenAuth.ApplicationBlock.FacebookGraph.Fields.Picture, DotNetOpenAuth.ApplicationBlock.FacebookGraph.Fields.Birthday }); //create model login SessionManager.Models.Auth.User UserToLogin = base.GetUserToLogin(oauth2Graph, SessionManager.Models.Auth.enumProvider.Facebook); //login user UserToLogin = base.LoginUser(UserToLogin); //Add Log LogManager.ClientLog.AddLog(new LogManager.Models.LogModel() { User = UserToLogin.UserPublicId, Application = Auth.Interfaces.Constants.C_ApplicationName, Source = Request.Url.ToString(), IsSuccess = true, LogObject = UserToLogin, }); //return to site Response.Redirect(base.ReturnUrl.ToString()); } return(View()); }
public virtual ActionResult LoginCallBack() { //get return url Uri oReturnUrl = base.ReturnUrl; //get current application name string oAppName = base.GetAppNameByDomain(base.ReturnUrl); ViewBag.AppName = oAppName; //get fb client DotNetOpenAuth.ApplicationBlock.GoogleClient GMClient = GetGMClient(oAppName); //validate autentication DotNetOpenAuth.OAuth2.IAuthorizationState authorization = GMClient.ProcessUserAuthorization(); if (authorization != null) { DotNetOpenAuth.ApplicationBlock.IOAuth2Graph oauth2Graph = GMClient.GetGraph(authState: authorization); //create model login SessionManager.Models.Auth.User UserToLogin = base.GetUserToLogin(oauth2Graph, SessionManager.Models.Auth.enumProvider.Google); //login user UserToLogin = base.LoginUser(UserToLogin); //Add Log LogManager.ClientLog.AddLog(new LogManager.Models.LogModel() { User = UserToLogin.UserPublicId, Application = Auth.Interfaces.Constants.C_ApplicationName, Source = Request.Url.ToString(), IsSuccess = true, LogObject = UserToLogin, }); //return to site Response.Redirect(oReturnUrl.ToString()); } return(View()); }
public virtual ActionResult Login(string UrlRetorno) { //get return url Uri oReturnUrl = base.GetReturnUrl(UrlRetorno); //get current application name string oAppName = base.GetAppNameByDomain(oReturnUrl); ViewBag.AppName = oAppName; //get fb client DotNetOpenAuth.ApplicationBlock.GoogleClient GMClient = GetGMClient(oAppName); //validate autentication DotNetOpenAuth.OAuth2.IAuthorizationState authorization = GMClient.ProcessUserAuthorization(); if (authorization == null) { //preserve return url before request base.ReturnUrl = oReturnUrl; //user is not login GMClient.RequestUserAuthorization(scope: new[] { DotNetOpenAuth.ApplicationBlock.GoogleClient.Scopes.PlusMe, DotNetOpenAuth.ApplicationBlock.GoogleClient.Scopes.UserInfo.Email, DotNetOpenAuth.ApplicationBlock.GoogleClient.Scopes.UserInfo.Profile }, returnTo: new Uri (Request.Url.GetLeftPart(UriPartial.Authority).ToLower().TrimEnd('/') + Url.Action(MVC.GoogleLogin.ActionNames.LoginCallBack))); } else { return(RedirectToAction(MVC.GoogleLogin.ActionNames.LoginCallBack)); } return(View()); }