크롬이 인가서버로 부터 권한 부여!?
인가서버로부터 유저에게 승인 / 동의 과정을 해줘야 인가서버는
클라이언트에게 권한 부여를함
이때 발급된게 엑세스토큰 발급.
한번에 권한부여 안전하지 않음
스크립트 자체가 노출됨.
위에 코드 받는 순서에서 코드 대신 token을 받음
아이디와 패스워드를 적어서 인가받는 방식.
아이디와 페스워드가 네트워크에 노출..
클라이언트 id / secret만 잇으면 엑세스 토큰 발급
사용자가 없고 클라 자체가 사용자역할
그냥 리프레쉬 토큰으로 엑세스 토큰 발급 받는방식인듯.
코드를 교환하는데 키로서 증명한다. 1번째 방식의 강화된 버전
토큰을 발급받을때 하나의 매개변수가 추가됨
1단계에서 해쉬된값이 특정한 알고리즘에 의해 전달 되고.
인가서버에 전달되고 인가서버는 해쉬된 값을 가지고 있고
코드 값과 알고리즘 타입을 준다.
인가서버는 sha1알고리즘으로 1234로 해쉬 하게 되면
1234된 해쉬값하고 인가서버에 있는 해쉬값하고 같으면 인가 됨.
클라이언트가 인가서버에게 권한부여 요청할 때 각각의 항목들
response-type (ex: code / token 등.) 인증서버가 어떤 권한 부여 인지 알 수 있다.
grant_type 타입을 주게 되면 권한 방식이 달라짐 .
Redirect_uri 처음요청한 주소인지 확인하는 역할 도 함.
state 클라이언트로 코드와 함께 리다이렉트 할때 클라이언트가 최초에 보낸
state 값도 포함해서 보내줌. 클라이언트는 보낸 state값과 받은 값을 같은 지 확인 한다.
틀리면 ? 정상적인 코드가 아니라 판단하고 진행하면 안됀다.
공격자에 의해 위조될수 있는 값을 방지하기 위해 state 매게변수 이다.