-
보안대학 수업/Fast API 2024. 11. 11. 12:25
Java WAS server session id : Client 에겐 Cookie 로 보냄
HTTP 에 Bearer 토큰이 정의되어 있으나, 내용이 나와있진 않다.
- HTTP Authentication
- 사용자 인증정보(Credential - un,pwd) Encoding하여 요청 헤더(Authorization header) 로 전송
encoding decoding : 전송 가능한 형태로의 변환 // encrypt decrypt : 암호화
hasing : 정말 많은 양식이 있지만, 변형된 문자열을 unhashing(복구) 안된다!
401 : unauthorization
이러한 내용을 받으면 브라우저가 띄워준다
security_scheme = HTTPBasic() # excutable 한 객체
이 친구가 이렇게 하게끔 작동 함?
쿠키 & 세션 인증(Authentication)
Bearer 토큰 인증 (access token)
OAuth2 프레임워크 : 이 토큰내에 어떤걸 담을까? : 어플리케이션이 결정
- Bearer 토큰
- 불투명한(Opaque)(암호된) 문자열
- 인증 서버에서 정의하기 나름인데, 16진수의 문자열을 사용하거나 JSON Web Token(JWT)을 사용
- 클라이언트가 해석할 수 없는 형태여야 함
- 클라이언트의 권한과 토큰 수명시간을 확인할 수 있는 메타데이터를 토큰에 인코딩
- 복잡한 알고리즘을 사용해서 발급
Header, PayLoad, Signature
유효 사용자? 권한 사용자? LifeSpan? TimeOut? ...
OAuth2 토큰 인증 구현을 위한 준비물
암호와 알고리즘, 키값, LifeSpan(상수 : 외부 환경파일, 하드코딩하지마라?)
SSH server 같은 거 설치하면 기본으로 딸려오는 openssl
openssl rand -hex 32 : 로 나오는 임의 값을 비밀번호로 사용
auth - handler : 생성 및 반환 값, 검증 용 router필요
'대학 수업 > Fast API' 카테고리의 다른 글
ORM | ODM +Mongo DB 특징 (1) 2024.11.19 토큰? (0) 2024.11.18 토큰 적용법 (0) 2024.11.12 인터프리터와 컴파일러 그리고 IDE (2) 2024.09.02 Fast API (2) 2024.09.02 - HTTP Authentication