/// <summary> /// 設定 OAuth /// </summary> /// <param name="app"></param> public void ConfigureOAuth(IAppBuilder app) { app.UseOAuthBearerAuthentication(OAuthConfigUtil.OAuthBearerAuthenticationOptions); Internal.Utils.WebApi.Attributes.OAuthAuthorizeAttribute.ValidationFailedAction = (exception, actionContext) => { OperationFailedException operationFailedException = new OperationFailedException(ResultCodeSettingEnum.AuthorizationFailed); ExceptionResponse <ResultCodeSettingEnum> exceptionResponse = operationFailedException.getResponse(); actionContext.Response = actionContext.Request.CreateResponse(System.Net.HttpStatusCode.OK, exceptionResponse); }; }
/// <summary> /// 使用已知的例外(繼承[OperationFailedException]之類別)為API回傳結果 /// </summary> /// <param name="operationFailedException">繼承[OperationFailedException]之例外</param> /// <returns>回傳的例外訊息</returns> public static ExceptionResponse <ResultCodeSettingEnum> getResponse(this OperationFailedException operationFailedException) { return(operationFailedException.getResponse(operationFailedException.CultureInfo)); }