OAuth 에 대하여 (1)

김하은·2022년 12월 4일
2

Project-Study

목록 보기
1/7
post-thumbnail

로그인을 할때의 어떻게 token 값을 받아오는지 , 어떻게 프로그램이 돌아가는지 이해가 되지 않아 "생활코딩" 님의 OAuth 수업을 듣고 프로젝트에 응용하게 되었다.
이 글은 생활코딩님의 OAuth 유튜브 강의를 듣고 처음 부터 정리 한 글 이다.

✅OAuth 의 관계 핵심

🚩나의 서비스 (Client)
-> Resource Server 에 접속해서 정보를 가져 가는 Client

🚩나의 서비스를 사용하는 사용자 (Resource Owner)
-> 자원의 소유자

🚩나의 서비스가 연동 하려고 하는 그들의 서비스
이렇게 구조가 되어있다. (Resource Server)
-> 우리가 제어하고 자 하는 자원을 갖고 있는 서버 라는 뜻

📢공식 문서에 따르면,
(Resource Server) , (Authorization Server) 이렇게 두개가 나뉘어져 있다.
(Resource Server) = 데이터를 가지고 있는 서버
(Authorization Server) = 인증과 관련된 처리를 전담하는 서버


사용자(Owner)가 나의 서비스(Client)를 이용해서 그들의 서비스(Resource Server)에 글을 쓰거나 조회했다.

그렇기 위해서는 우리가 사용자 로부터 그들의 서비스에 접근할수 있도록
허가를 받아야 한다.

그들의 서비스에 사용자의 id, password 가 있다.
id, password 를 사용자 로부터 전달 받아 나의 서비스에서 사용자의 id, password 를 기억하고 있는다.
실제로 그들의 서비스의 접속할때 기억한 id, password 를 이용한다.


🤔걱정되는점

사용자는 처음 보는 서비스 에게 id,password 를 기억하게 해야하는데
사용자 입장에서는 걱정 되고 꺼림직 하게 여겨 질수 있다.
많은 사용자들은 그 서비스에서만 id, password 를 쓰는게 아니라
거의 모든 서비스에 같은 id,password 를 쓰기 때문에
그 정보가 유츌 되게 되면 보안 사고가 일어날수 있다.


이러한 문제점들을 보안해 줄수 있는 것이 바로 📍 OAuth 📍 이다.
OAuth 를 이용하면 훨씬더 안전하게 우리의 서비스 랑 그들의 서비스에 상호작용 할수 있게 된다.


📍OAuth 를 사용시 일어나는 변화

이전에는 그들의 서비스에 사용되는 id, password 를 나의 서비스에 저장하였는데,
대신에 user 의 요청에 의해 그들의 서비스가 id, password 를 대신해
accessToken 이라는 일종의 비밀번호를 발급한다.


✅accessToken 장점

  1. 그들의 서비스 가 갖고 있는 id,password 가 아니다
  2. 그들의 서비스가 갖고 있는 모든 기능이 아님 , 그 기능중 나의 서비스가
    곡 필요한 필수적인 기능만 부분적으로 허용하는것이다.

따라, 그들의 서비스에 accessToken을 우리가 OAuth 를 통해서 획득한 다음에 accessToken 을 통해서 그들의 서비스에 접근해서
데이터를 가져오고 수정하고 생성하고 삭제 하는 작업을 할수 있다.

바로 이것을 가능케 해주는 기술이 📍 OAuth 📍 이고
이것을 통해 얻어내는것이 ✅accessToken 이다.

이런 OAuth의 특징을 이용해서,
회원들의 id,password 를 처음부터 갖고 있지 않아도 , 회원을 식별할수 있는 기능을 구현해 낼수 있다.

ex)
구글로 로그인하기
트위터로 로그인하기
페이스북으로 로그인 하기 등등

다음시간
OAuth 를 등록하는 절차에 대하여

profile
꾸준함을 이기는것은 없다

0개의 댓글