Esempio n. 1
0
        public AuthModel Login([FromBody] AccountLoginModel model)
        {
            var user = _readOnlyRepository.FirstOrDefault <Account>(x => x.Email == model.Email);

            if (user == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, "User doesn't exist.");
            }
            if (!user.CheckPassword(model.Password))
            {
                throw new HttpException((int)HttpStatusCode.Unauthorized, "Password doesn't match.");
            }

            var authModel = new AuthModel
            {
                email        = user.Email,
                access_token = AuthRequestFactory.BuildEncryptedRequest(user.Email),
                role         = new RoleModel
                {
                    bitMask = 2, title = "admin"
                }
            };

            return(authModel);
        }
        protected UserTokenModel GetUserTokenModel()
        {
            IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization");
            var authorizationToken            = headerValues.FirstOrDefault();
            var userTokenModel = AuthRequestFactory.BuildDecryptedRequest(authorizationToken);

            return(userTokenModel);
        }
Esempio n. 3
0
        /// <summary>
        /// 钉钉callback
        /// </summary>
        /// <param name="authSource"></param>
        /// <param name="authCallback"></param>
        /// <returns></returns>
        public ActionResult DingTalkCallback(AuthCallback authCallback)
        {
            AuthRequestFactory authRequest = new AuthRequestFactory();
            var request      = authRequest.getRequest("DINGTALK_SCAN");
            var authResponse = request.login(authCallback);

            return(Content(JsonConvert.SerializeObject(authResponse)));
        }
Esempio n. 4
0
        /// <summary>
        /// 授权回调方法
        /// </summary>
        /// <param name="authSource"></param>
        /// <param name="authCallback"></param>
        /// <returns></returns>
        public ActionResult Callback(string authSource, AuthCallback authCallback)
        {
            AuthRequestFactory authRequest = new AuthRequestFactory();
            var request      = authRequest.getRequest(authSource);
            var authResponse = request.login(authCallback);

            return(Content(JsonConvert.SerializeObject(authResponse)));
        }
Esempio n. 5
0
        /// <summary>
        /// 构建授权Url方法
        /// </summary>
        /// <param name="authSource"></param>
        /// <returns>RedirectUrl</returns>
        public ActionResult Authorization(string authSource)
        {
            AuthRequestFactory authRequest = new AuthRequestFactory();
            var request   = authRequest.getRequest(authSource);
            var authorize = request.authorize(AuthStateUtils.createState());

            Console.WriteLine(authorize);
            return(Redirect(authorize));
        }
Esempio n. 6
0
        public AuthModel ForgotPassword([FromBody] ResetpPaswordModel model)
        {
            var user = _readOnlyRepository.FirstOrDefault <Account>(x => x.Email == model.Email);
            var resp = SendSimpleMessage(model.Email, user.Password);

            if (user == null)
            {
                throw new HttpException((int)HttpStatusCode.NotFound, "User doesn't exist.");
            }
            var authModel = new AuthModel
            {
                Email       = user.Email,
                AccessToken = AuthRequestFactory.BuildEncryptedRequest(user.Email),
                role        = new RoleModel
                {
                    bitMask = 2,
                    title   = "admin"
                }
            };

            return(authModel);
        }