D+36
와 벌써 현장실습 끝나가...
어쩌면 좋으늬...ㅎ... authorization server 완성 못하고 끝낼듯ㅠㅠ
client ID, client secret, redirect uri는 default 값으로 내가 지정한다.
authorization code, access token은 인코딩
authorization code요청
https://resource.com?client_id=abc&redirect_uri=http://client.com
access token 요청
https://resource.com?client_id=abc&client_secret=1234&grant_type=authorization_code&code=cba&state=good
access token 형태(JSON)
{
“access_token”:”aaaAbcD+1234”,
“refresh_token”:”Abced1gf5”,
“token_type”:”bearer”,
“expires_in”:”3600”
}
base64란?
8비트 이진데이터를 ACSII문자로 변화하거나 그 반대로 변환하는 인코딩 방법을 말한다. 64가 2의 제곱수이며, 2의 제곱수들에 기반한 진법들 중에서 화면에 표시되는 ASCII코드를 써서 표현할 수 있는 가장 큰 진법이다.
만드는 방법
문자에 해당하는 ASCII코드로 바꾸어준다.
그 ASCII코드를 8bit 이진수로 바꾸어준다.
2에서 8bit로 바꾸어준 숫자를 6bit씩 끊어준다.
6bit씩 끊은 수를 다시 10진수로 변환한다.
마지막으로 10진수로 변환한 숫자를 Base64의 색인표에 따라 숫자에 해당하는 알파벳으로 변환해준다.
만약 남은 비트가 3byte미만이라면 버퍼의 남은 부분을 0으로 채워준다.
문자의 끝에는 끝을 알리는 ‘=’을 추가해준다.
<script>
opener : 팝업창에서 부모창으로 이동할 때 사용한다.
아래 코드 팝업 창을 나타낸 코드인데, ‘승인’버튼을 누르면 부모 창이 “http://localhost:3000/public/signup_O.html”로 이동하는 코드이다.
1 2 3 4 5 6 7 8 | <input type="submit" id="admit" value="승인" onclick="goClient()">
<script> function goClient(){ self.close(); opener.location.href = "http://localhost:3000/public/signup_O.html" } </script> |
3000번 - 로그인
4000번 - ★☆로 로그인 화면, 동의 팝업창, 동의하면 코드생성&보내기
5000번 - 3000번이 코드 받은 뒤에 5000번으로 접근, 그 전까지는 4000번이 5000번으로 접근
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
쿼리 문자열 받아와서 사용하는 법 & 구현하기
(코드에 문제 있다고 표시한 부분부터 확인하기)
code어떻게 받아올 것인지 고민
client id, secret, redirect uri어디에 저장할 것인지 고민(client server와 oauth server 각각)
내일 세가지 완성하기
'동계현장실습' 카테고리의 다른 글
19.02.20 수요일 (0) | 2019.02.21 |
---|---|
19.02.19 화요일 (0) | 2019.02.20 |
19.02.18 월요일 (0) | 2019.02.19 |
19.02.14 목요일 (0) | 2019.02.15 |
19.02.13 수요일 (0) | 2019.02.13 |