HTTP 프로토콜을 이용할때 여러가지 authorization 방법들이 있는데 그 중 가장 기본적인 사용자 아이디와 비밀번호를 이용하는 basic authentication 방식은 HTTP 헤더 부분에 Base64 방식으로 encoding된 키를 제공하여 요청하는 사용자가 누구인지를 확인시켜주는 방식이다. 이 키를 생성하는 방식을 찾다보니 잘 안나와서 정리해둔다.
우선 authorization token의 형식은 <user>:<password> 키를 encoding 한다.
> echo -ne "dongchankim.io:my_password" | base64 -b 0
ZG9uZ2NoYW5raW0uaW86bXlfcGFzc3dvcmQ=
간단한 설명을 덧붙이면, 사용자 아이디 (dongchankim.io) 와 비밀번호 (my_password) 를 이용한 문자열을 base64 명령어를 이용하여 Base64방식으로 인코딩하여 준다.
이후 인코딩된 authorization token을 header에 아래와 같이 추가해주면 된다.
header = {
"Authorization": "Basic ZG9uZ2NoYW5raW0uaW86bXlfcGFzc3dvcmQ="
}
추가로, 간단히 온라인에서 인코딩/디코딩해주는 사이트도 있네요.
댓글