예제 #1
0
 public async Task <IActionResult> Register(JObject body)
 {
     try
     {
         return(Ok(await authHandler.Register(body)));
     }
     catch (BadRequestException ex)
     {
         return(Ok(APIResult.ErrorResult(HttpStatusCode.BadRequest, ex.Message)));
     }
     catch (Exception ex)
     {
         return(Ok(APIResult.ErrorResult(HttpStatusCode.InternalServerError, ex.Message)));
     }
 }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            StringValues value;

            if (context.HttpContext.Request.Headers.TryGetValue("ApplicationKey", out value))
            {
                try
                {
                    string ApplicationKey = value.ToString();
                    if (string.IsNullOrEmpty(ApplicationKey))
                    {
                        context.Result = HttpActionContextResult.GetContentActionContext(HttpStatusCode.Forbidden, APIResult.ErrorResult(HttpStatusCode.Forbidden, NOAPPKEY_ERROR));
                    }
                    else
                    {
                        if (!IsKeyValid(ApplicationKey))
                        {
                            context.Result = HttpActionContextResult.GetContentActionContext(HttpStatusCode.Forbidden, APIResult.ErrorResult(HttpStatusCode.Forbidden, INVALIDAPPKEY_ERROR));
                        }
                    }
                }
                catch (Exception ex)
                {
                    context.Result = HttpActionContextResult.GetContentActionContext(HttpStatusCode.Forbidden, APIResult.ErrorResult(HttpStatusCode.Forbidden, INTERNAL_ERROR + ". " + ex.Message));
                }
            }
            else
            {
                context.Result = HttpActionContextResult.GetContentActionContext(HttpStatusCode.Forbidden, APIResult.ErrorResult(HttpStatusCode.Forbidden, NOAPPKEY_ERROR));
            }
        }