개별적인 인증이 필요할때가 있다.
기존 Auth처리말고 새로운 인증을 하고싶을때는 Custom 인증클래스를 만들어야하는데
예를 들어 HttpRequest 해더에 Authorization의 키에
특정한 값내용이 들어가 있을때 이를 내부에서 별도로
인증처리하여 실패하면 다음으로 못넘어 가게하고
Unauthorized를 리턴하게 하려면 다음과 같은 클래스를 만들면된다.
[AttributeUsage(AttributeTargets.Method)] public class CheckCustomToken : Attribute, IAuthorizationFilter { public CheckCustomToken() { } // public void OnAuthorization(AuthorizationFilterContext context) { // StringValues sv_authToken = ""; context.HttpContext.Request.Headers.TryGetValue("Authorization", out sv_authToken); string str_authToken = sv_authToken.FirstOrDefault(); // str_authToken 가지고 어쩌고 저쩌고 bool bChk_auth = 췍췍(str_authToken); if (!bChk_auth) { context.Result = new UnauthorizedObjectResult("Invalid Token" ); return; } } }
이렇게 해서 컨트롤러의 메서드에서 다음처럼 Attribute로 달면된다.
[HttpPost][CheckCustomToken]public async Task<IActionResult> gogosing(){ Ok();}
요로코롬
댓글 없음:
댓글 쓰기