technical-interview 는 시간날 때 가끔 작성하고 http://ksh-code.github.io 에 글을 작성하려 합니다.

'IT > 여러가지' 카테고리의 다른 글

오랜만에 글을 작성해보네요. ㅎㅎ  (0) 2019.09.21
COOLSMS Node.js 를 사용해서 발송하기  (0) 2018.09.14
2. Docker 이미지 설치  (0) 2018.04.30
1. Docker 설치하기  (0) 2018.04.30
OAuth란?  (0) 2017.12.12

저는 현재 학교를 다니고 있으며 회사도 같이 다니고 있습니다.

https://github.com/KSH-code/Technical-Interview

 

KSH-code/Technical-Interview

면접에서 나올수도 있다고 생각한 문제들을 만들어봤습니다. Contribute to KSH-code/Technical-Interview development by creating an account on GitHub.

github.com

틈틈이 여기에 글을 작성하려고 해요.

'IT > 여러가지' 카테고리의 다른 글

마지막 글 작성  (0) 2020.09.16
COOLSMS Node.js 를 사용해서 발송하기  (0) 2018.09.14
2. Docker 이미지 설치  (0) 2018.04.30
1. Docker 설치하기  (0) 2018.04.30
OAuth란?  (0) 2017.12.12

redirect_uri 사용 이유


1. 해커가 로그인 버튼 즉, redirect_uri 를 변경해서 자신이 code 를 알 수 있도록 하고 사용자에게 노출시킨다. (e.g 구글 버튼이랑 동일하게 만든 거짓 사이트)

2. 구글(client site) 로그인인줄 알고 사용자는 로그인하고, 권한 승인하고 했지만 로그인은 정상적으로 되지 않는다. 코드는 해커에게 노출이 됨

3. 노출된 코드를 client site 의 redirect 로 정상적으로 보낸다. 그러면 클라이언트는 정상적으로 발급받은 것으로 확인하고 authorization server 로 코드를 보내게 된다. with client id, secret

4. 하지만 redirect uri 가 다르기 때문에 실패난다. (정상적인 redirect uri 는 http://c.com/code 라면 변조된 즉, 코드를 해커가 얻기 위한 redirect uri 는 http://c.com/hack 이기 때문에 코드 정보와 클라이언트가 토큰을 발급받기 위해 보낸 redirect uri 는 서로 다르다.)






state 사용 이유

1. 위의 3번에서 코드를 client site 에서는 막 받아서 보낸다.

하지만 그것을 막기 위해서는 authorize 버튼을 클릭할 때(로그인 버튼), 저장하는 state 를 통해서 그게 정상적인 코드인지 state 로 확인한다.


만약 탈취된 code 라면 state 가 존재하지 않기 때문에 탈락.


+ Recent posts