티스토리 뷰

OAuth

3. 페이스북 로그인 OAuth 기능 구현 - 2 (SDK not used)

알 수 없는 사용자 2019. 7. 22. 16:54

1. Redirect 된 Uri 분석

 이전에 로그인이 성공된 후 가져오는 uri를 분석하면 다음과 같다.

https://localhost:8000/fb-low.html?
      #access_token=XXX
      &data_access_expiration_time=1571557491
      &expires_in=4509
      &reauthorize_required_in=7776000
      &state=1234

* expires_in : access token의 수명시간

* state : Resource Owner가 요청할 때 넘겨준 값으로 넘겨준 값과 Resource Server의 응답 state 값의 일치 여부로 정상적인 작동인지 판단.

 

2. 페이스북 API 서버에서 사용자의 이름 불러오기

1) URI에서 access_token 추출

location.href.match('access_token=([^&]*)')[1];

2) Facebook Graph API Explorer를 통해 실험

3) 하단의 코드 받기 -> cURL의 주소를 복사

4) Ajax를 통해 해당 주소에 요청

fetch({uri})
      .then(function(raw) {
      console.log(raw);
      })
      .then(function(result) {
      console.log(result);
      })

 

지금까지의 방법은 sdk를 사용하지 않고 동작원리를 보기 위해 하나씩 구현하였다. 하지만 이러한 방법을 실제 서비스에서 사용한다면 access_token 노출 등의 보안상 큰 이유가 있다. 때문에 facebook과 같은 회사에서 제공하는 sdk를 사용하면 이 과정을 함축시켜 빠르고 안전하게 사용 가능하다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함