/// <summary> /// /// </summary> /// <param name="ltctx"></param> /// <param name="app_user"></param> /// <returns></returns> public async Task <(Claim identity, string mail_address)> GetClaimsIdentityByFacebook(LottoLionContext ltctx, ApplicationUser app_user) { var _result = (identity : (Claim)null, mail_address : ""); if (CheckDevice(app_user.device_type, app_user.device_id) == true) { var _member = ltctx.TbLionMember .Where(m => m.LoginId == app_user.facebook_id && m.IsAlive == true) .SingleOrDefault(); if (_member != null) { if (await VerifyFacebookToken(app_user.facebook_token, app_user.facebook_id) == true) { if (_member.DeviceType != app_user.device_type || _member.DeviceId != app_user.device_id) { _member.DeviceType = app_user.device_type; _member.DeviceId = app_user.device_id; ltctx.SaveChanges(); } _result.identity = new Claim("UserType", "Member"); _result.mail_address = _member.EmailAddress; } } } return(_result); }
/// <summary> /// 메일 주소와 암호가 일치 하는지 확인 합니다. /// </summary> /// <param name="ltctx"></param> /// <param name="app_user"></param> /// <returns></returns> public (Claim identity, string mail_address) GetClaimsIdentityByLoginId(LottoLionContext ltctx, ApplicationUser app_user) { var _result = (identity : (Claim)null, mail_address : ""); if (CheckDevice(app_user.device_type, app_user.device_id) == true) { var _member = ltctx.TbLionMember .Where(m => m.LoginId == app_user.login_id && m.IsAlive == true) .SingleOrDefault(); if (_member != null) { if (_member.DeviceType != app_user.device_type || _member.DeviceId != app_user.device_id) { _member.DeviceType = app_user.device_type; _member.DeviceId = app_user.device_id; ltctx.SaveChanges(); } var _hash_value = Convert.FromBase64String(_member.LoginPassword); var _pass_hash = __cryptor.VerifyHash(app_user.password, hash_value: _hash_value); if (_pass_hash == true) { _result.identity = new Claim("UserType", "Member"); _result.mail_address = _member.EmailAddress; } } } return(_result); }
/// <summary> /// /// </summary> /// <param name="login_id">로그인 사용자 아이디</param> /// <param name="login_name">로그인 사용자 명</param> /// <param name="password">암호</param> /// <param name="device_type">장치구분("I"phone, "A"ndroid, "W"indowsPhone</param> /// <param name="device_id">장치 식별자</param> /// <param name="mail_address">메일 주소</param> public bool AddNewMember(LottoLionContext ltctx, ApplicationUser app_user) { var _result = false; if (CheckDevice(app_user.device_type, app_user.device_id) == true) { var _new_member = new TbLionMember { LoginId = app_user.login_id, LoginName = app_user.login_name, LoginPassword = Convert.ToBase64String(__cryptor.ComputeHash(app_user.password)), DeviceType = app_user.device_type, DeviceId = app_user.device_id, AccessToken = "", IsAlive = true, PhoneNumber = "", EmailAddress = app_user.mail_address, MailError = false, IsMailSend = true, IsDirectSend = false, IsNumberChoice = true, MaxSelectNumber = 30, Digit1 = 0, Digit2 = 0, Digit3 = 0, CreateTime = DateTime.Now, Remark = "" }; ltctx.TbLionMember.Add(_new_member); ltctx.SaveChanges(); _result = true; } return(_result); }
public async Task <IActionResult> UpdateUserInfor(ApplicationUser app_user) { return(await CProxy.Using(() => { var _result = (success : false, message : "ok"); while (true) { var _login_id = __usermgr.GetLoginId(Request); if (String.IsNullOrEmpty(_login_id) == true) { _result.message = "인증 정보에서 회원ID를 찾을 수 없습니다"; break; } var _member = __db_context.TbLionMember .Where(m => m.LoginId == _login_id && m.IsAlive == true) .SingleOrDefault(); if (_member == null) { _result.message = "회원님의 정보에 오류가 있습니다, 관리자에게 문의 하세요"; break; } else { if (String.IsNullOrEmpty(app_user.login_name) == false) { _member.LoginName = app_user.login_name; } if (app_user.max_select_number < 5) { _member.MaxSelectNumber = 5; } else if (app_user.max_select_number > 100) { _member.MaxSelectNumber = 100; } else { _member.MaxSelectNumber = app_user.max_select_number; } _member.Digit1 = (app_user.digit1 >= 1 && app_user.digit1 <= 45) ? app_user.digit1 : (short)0; _member.Digit2 = (app_user.digit2 >= 1 && app_user.digit2 <= 45) ? app_user.digit2 : (short)0; _member.Digit3 = (app_user.digit3 >= 1 && app_user.digit3 <= 45) ? app_user.digit3 : (short)0; __db_context.SaveChanges(); _result.message = "회원 정보가 변경 되었습니다"; _result.success = true; } break; } return new OkObjectResult(new { success = _result.success, message = _result.message, result = "" }); })); }