반응형
기본 HTTP Basic 인증
스프링 시큐리티가 적용된 기본 프로젝트 구성
$ curl http://localhost:8080/hello | jq
{
"timestamp": "2022-10-13T13:09:15.808+00:00",
"status": 401,
"error": "Unauthorized",
"message": "",
"path": "/hello"
}
- 스프링 시큐리티가 적용되어 인증이 필요하다.
- 스프링 시큐리티를 기본으로 되어있는경우, 스프링 초기에 패스워드가 콘솔로그에 나타난다.
$ curl -u user:a9f19c33-17d9-47e8-9993-94809545cff6 http://localhost:8080/hello
Hello!
- username : user
- password : a9f19c33-17d9-47e8-9993-94809545cff6 (콘솔확인)
HTTP Basic 인증을 위한 엔드포인트 호출 방법
- <username>:<password> : 문자열을 base64 인코딩
$echo -n user:a9f19c33-17d9-47e8-9993-94809545cff6 | base64
dXNlcjphOWYxOWMzMy0xN2Q5LTQ3ZTgtOTk5My05NDgwOTU0NWNmZjY=
Base64 인코딩 문자열을 Authorization 헤더의 값으로 사용
$ curl -H "Authorization: Basic dXNlcjphOWYxOWMzMy0xN2Q5LTQ3ZTgtOTk5My05NDgwOTU0NWNmZjY=" [http://localhost:8080/hello](http://localhost:8080/hello)
Hello!
- HTTP Basic 인증은 자격 증명의 기밀성을 보장하지 않음.
- Base64는 전송의 편의를 위한 인코딩 방법이고 암호화나 해싱방법이 아니므로 전송 중에 자격 증명을 가로 챌수 있음
- HTTPS를 함께 이용할때가 아니면 HTTP Basic 인증은 이용 안함.
반응형
'JAVA > Spring Security' 카테고리의 다른 글
스프링 시큐리티 Basic 인증 재구성 (0) | 2022.10.20 |
---|