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); }
/// <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))); }
/// <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))); }
/// <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)); }
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); }