public ActionResult <SignInResultModel> SignIn( [FromForm] string sEmail , [FromForm] string sPW) { //결과용 ApiResultReady rrResult = new ApiResultReady(this); //로그인 처리용 모델 SignInResultModel armResult = new SignInResultModel(); rrResult.ResultObject = armResult; //유저 검색 UserSignInfoModel user = GlobalStatic.UserList .List.FirstOrDefault(m => m.Email == sEmail && m.Password == sPW); if (user != null) { //에러가 없다. rrResult.Message = user.Email; armResult.access_token = "dasdflcc090fkkc"; armResult.refresh_token = "das54340fl8fd"; } else { rrResult.InfoCode = "1"; rrResult.Message = "아이디나 비밀번호가 틀렸습니다."; } return(rrResult.ToResult()); }
[Authorize]//OAuth2 인증 설정 public ActionResult <SignInSimpleResultModel> AccessToUserInfo() { //리턴 보조 ApiResultReady armResult = new ApiResultReady(this); //리턴용 모델 SignInSimpleResultModel tmResult = new SignInSimpleResultModel(); //유저 정보 추출 ClaimModel cm = new ClaimModel(((ClaimsIdentity)User.Identity).Claims); //검색된 유저 UserSignInfoModel user = GlobalStatic.UserList.List .FirstOrDefault(m => m.ID == cm.id_int); if (null != user) {//유저 정보가 있다. tmResult.id = user.ID; tmResult.email = user.Email; } else {//유저 정보가 없다. armResult.InfoCode = "1"; armResult.Message = "엑세스 토큰이 유효하지 않습니다.[로그인 필요]"; } return(armResult.ToResult(tmResult)); }
public ActionResult <SignInResultModel> SignIn( [FromForm] string sEmail , [FromForm] string sPW) { //결과용 ApiResultReady rrResult = new ApiResultReady(this); //로그인 처리용 모델 SignInResultModel armResult = new SignInResultModel(); rrResult.ResultObject = armResult; //유저 검색 UserSignInfoModel user = GlobalStatic.UserList .List.FirstOrDefault(m => m.Email == sEmail && m.Password == sPW); if (user != null) { //토큰 요청 TokenResponse tr = null; //토큰 요청 tr = GlobalStatic.TokenProc.RequestTokenAsync(sEmail, sPW).Result; if (true == tr.IsError) {//에러가 있다. rrResult.InfoCode = "1"; rrResult.Message = "아이디나 비밀번호가 틀렸습니다."; } else {//에러가 없다. //로그인 되어있는 유저정보 저장 GlobalStatic.SignInList.Add(user.ID, tr.RefreshToken); armResult.id = user.ID; armResult.email = user.Email; armResult.lv = 0; armResult.access_token = tr.AccessToken; armResult.refresh_token = tr.RefreshToken; } } else { rrResult.InfoCode = "1"; rrResult.Message = "아이디나 비밀번호가 틀렸습니다."; } return(rrResult.ToResult()); }
/// <summary> /// 로그인에 사용하는 UserSignInfoModel을 /// IdentityServer4_Custom.UserServices.UserRepositoryModel 로 변환한다. /// </summary> /// <param name="insUserDB"></param> /// <returns></returns> private UserRepositoryModel ToUserRepositoryModel(UserSignInfoModel insUserDB) { UserRepositoryModel urmReturn = null; if (null != insUserDB) {//데이터가 있다. urmReturn = new UserRepositoryModel(); urmReturn.idUser = insUserDB.ID; urmReturn.SignEmail = insUserDB.Email; urmReturn.Password = insUserDB.Password; } return(urmReturn); }