티스토리 뷰

보안/인증

oauth 동작개념

IT공부블로그 2020. 2. 16. 15:30
728x90
반응형



resource owner : 사용자

client : application server ex) 모바일게임 등

resource server : 자원을 가지고있는 서버 ex) 구글, 페이스북, 네이버 등

Authorization server: 권한서버, 우선 resource server에 권한서버도 포함되어있다고 판단


1. resource owner가 client에게 요청을 보내면 어떤 페이지를 보여준다 ex) 구글에서 로그인으로 계속?

2. resource server에 client가 등록되면 client id, client secret을 받는다 resource server는 authorized redirect url을 기억해두었다가 이 url로 오지않는 권한요청은 모두 무시한다.

3. resource owner가 어떤 데이터를 요청(http://resourceserver?clientId=1&scope=B,C&redirect_url=http//localhost/callback)하면 resource server는 clientId와 redirect_url을 확인 후 scope에 해당하는 권한을 client에게 전송할것인지 하는 메세지를 전달

scope는 클라이언트에서 사용할 기능들


3-1. 사용자는 어떤 기능에대해 권한을 부여할것을 승인하면

resource server에게 userid와 scope정보가 전달됨

사용자가 기능에대해 권한을 부여한것을 승인했으니 승인하였던 정보가 전달됨


3-2. resource server는 authorization code(임시비밀번호?)를 resource owner에게 전달 ex) location : https://authorized redirect url&code=3


3-3 resource owner는 https://authorized redirect url&code=3 해당주소로 가게되고

authorized redirect url은 client가 oauth 등록시 넣은 url이므로 

client는 authorization code를 알게됨


3-4 client는 이제 resource owner을 통하지않고 resource server에 접근이 가능

https://resource.server/tokent?

grant_type=authorization_code&

code=3&

redirect_url=https://client/callback&

client_id=1&

client_secret=2


3-5 resource server는 전달받은 정보와 완전히 일치하는 정보가 존재한다면 authorized code를 지우고 access token을 발급

access token은 userid와 scope에 대응되는값  ex) userid : 1, scope : b, c인 기능만 제공

4. accesstoken은 일종의 비밀번호 같은건데 사용자의 구글아이디, 패스워드가 아닌

사용자의 구글아이디의 어떤 특정한 기능에 대한 데이터만 조작할수있도록 하는것


5. refresh token은 access token은 유효기간이있으며 새로 access token을 발급받을수있는 token


refresh token도 갱신될수있다


출처 : https://opentutorials.org/course/2473/16571

728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   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
글 보관함