示例#1
0
        public JsonResult JobseekerGoogleRegistration([FromBody] string accesstoken)
        {
            var isSuccess = true;
            var msg       = string.Empty;

            try
            {
                var resp      = authHandler.GetGoogleUserInfo(accesstoken);
                var client_id = config["GoogleAppSettings:ClientId"];
                if (resp == null || !resp.Azp.Equals(client_id))
                {
                    throw new UserNotCreatedException("Invalid access token");
                }
                var randomPassword = RandomGenerator.GetRandom(5);
                var user           = new JobSeekerViewModel
                {
                    FirstName = resp.GivenName,
                    LastName  = resp.FamilyName,
                    Email     = resp.Email,
                    Password  = randomPassword,
                };

                user.RoleId = 2;//For Student
                authHandler.RegisterUser(user);
                SendRegistrationMailToJobSeeker(user);
            }
            catch (UserNotCreatedException ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                isSuccess = false;
                msg       = "Registration Failed,Please try again!";
            }
            catch (UserAlreadyExists ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                msg       = "Email Already Exist!";
                isSuccess = false;
            }
            catch (Exception ex)
            {
                Logger.Logger.WriteLog(Logger.Logtype.Error, ex.Message, 0, typeof(AuthController), ex);
                msg       = "Registration Failed,Please try again!";
                isSuccess = false;
            }
            return(Json(new { isSuccess, msg }));
        }