public LoginAuthedUserDTO Login(OAuthLoginViewModel model)
        {
            LoginAuthedUserDTO dtoModel = null;



            try
            {
                if (null == model)
                {
                    throw new Exception("授权模型为空!");
                }

                ////注意:这里后期等用户表创建好后,需要去用户表取信息,如果用户表的过期时间到了,那么还需要更新表数据
                ////1 查询用户是否存在
                ////2 不存在插入新的,并生成新的组,并插入access_token日志
                ////3 存在的,那么更新表
                //if (null == userModel)
                //{
                //    //插入模式

                //    //用户模型
                //    userModel = RegisterNewUser(model, out grpId);
                //}
                //else
                //{
                //    //更新模式

                //        grpId = UpdateUserInfo(model, pid, userModel);


                //}

                //model.UserId = userModel.Id;


                //dtoModel = new LoginAuthedUserDTO
                //{
                //    GroupId = 0,//用户所在分组
                //    Platform = model.Platform,
                //    ShopId = model.ShopId,
                //    ShopName = model.ShopName,
                //    UserId = model.UserId,
                //    UserName = model.UserName,
                //    Access_token = model.Access_token,
                //    TokenExpireTime = model.ExpireTime
                //};
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(dtoModel);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> OAuth_Login(OAuthLoginViewModel viewModel)
        {
            var user = await this._userManager.FindByEmailAsync(viewModel.Email);

            if (user != null)
            {
                var result = await this._signInManager.CheckPasswordSignInAsync(user, viewModel.Password, false);

                if (result.Succeeded)
                {
                    var query = new QueryBuilder();
                    query.Add("code", user.Id);
                    query.Add("state", viewModel.State);
                    return(Redirect($"{viewModel.RedirectUri}{query.ToString()}"));
                }
            }
            return(View());
        }
Exemplo n.º 3
0
        public IActionResult OAuth_Login(
            OAuthRequest request

            /*string response_type, // authorization flow type
             * string client_id, // client id
             * string redirect_uri,
             * string scope, // what info I want = email,grandma,tel
             * string state*/
            )
        {
            //var query = new QueryBuilder();
            //query.Add("redirectUri", request.Redirect_Uri);
            //query.Add("state", request.State);
            var loginViewModel = new OAuthLoginViewModel()
            {
                RedirectUri = request.Redirect_Uri,
                State       = request.State
            };

            return(View(model: loginViewModel));
        }