이전 강의에는
OAuth2와 OpenID 프로토콜에 대해 주로 이야기를 나눴습니다
지금부터 본 강의에서는
제가 안심 경로를 가지고 있는
매우 작은 Spring Boot 애플리케이션을 만들어볼 것입니다
엔드 유저가 안심 경로에 접근하고 싶어할 때마다
선택지를 제안할 것입니다
GitHub 사용자를 살피고, 가치 있게 생각한다면
그 또한 GitHub의 크레덴셜에 합류할 수 있다는 것이죠
그리고 GitHub 승인 서버가 제게
액세스 토큰을 부여한다면
제 Spring Boot 애플리케이션 또한
안심 경로에 대한 접속을 허가할 것입니다
이런 상황에서 제 Spring Boot 애플리케이션는
클라이언트 애플리케이션와 리소스 서버의 역할을 모두 맡게 됩니다
반면에 허가 서버는 GitHub가 됩니다
이것은 Stack Overflow 웹사이트와 매우 유사합니다
Stack Overflow 웹사이트 내에서
Stack Overflow 자체는 클라이언트 애플리케이션이지만
리소스 서버의 역할도 할 것입니다
하지만 누군가 Stack Overflow에 접속을 희망한다면
제 Stack Overflow는
그의 모든 질문들과 답변들에 대해 선택지를 부여할 것입니다
선택지는 Facebook, GitHub 혹은 Gmail 중
그가 선호하는 것에 로그인을 하는 것입니다
제가 본 강의에서 제시하고자 하는
시나리오가 잘 이해가 가셨으면 좋겠습니다
만약 이해가 안되더라도, 걱정하실 필요가 없습니다
아무튼, 우리가 Spring Boot 애플리케이션에 대해
더 이야기를 나누면서
그리고 우리가 이것을 실행해보면서
더 자세히 알 수 있을 것입니다
제 Spring Boot 애플리케이션이 GitHub 앱 서버에서
클라이언트 애플리케이션 역할을 하길 바랐으니
가장 첫 번째 순서로, OAuth를 시작하기 위해서
GitHub와 함께 클라이언트 세부사항을 새로 고려해야 합니다
이는 액세스 토큰을 얻기 위해 GitHub 앱 서버와 함께 진행해야 합니다
이와 같은 이유로, github.com 웹사이트를 찾았습니다
여기서, 저는 로그인 버튼을 누르고 있습니다
저는 이미 GitHub 계정이 있기 때문입니다
만약 GitHub 계정이 없다면
본인의 이메일과 비밀번호로 가입을 하시면 됩니다
제 회원명인 easybytes를 입력하고 있습니다
그리고 시작하기 위해서 비밀번호 또한 입력하고 있습니다
이제, 로그인 버튼을 누르고 있습니다
GitHub 계정에 성공적으로 접속했다면
맨 위 오른쪽 구석에 이 아이콘을 클릭해야 합니다
이제 설정 옵션을 볼 수 있습니다
설정 옵션을 선택할 수 있고
이 설정 웹 페이지 창에서
마지막 부분을 향해 스크롤 바를 내린다면
개발자 설정에 대한 옵션이 있습니다
이 옵션을 클릭하면, 다음과 같은 페이지를 볼 수 있습니다
이 웹 페이지 창에서
저는 이 OAuth 앱을 클릭해야 합니다
지금으로선 OAuth 애플리케이션을 가지고 있지만
아직 GitHub 앱 서버에서 살펴보고 있습니다
그래도 동일하게 등록하기 위해선
'새로운 애플리케이션 등록하기'를 클릭해야 합니다
따라서, GitHub 앱 서버가 제 클라이언트 애플리케이션의
세부 사항을 모으려고 하는 것입니다
애플리케이션에 작성하고 싶은 이름은
easybytes이고 작성할 홈페이지 URL은
http://localhost:8080입니다
이게 제 클라이언트 애플리케이션 홈페이지인거죠
현실에선, 당연히 제대로 된 도메인을 제공하겠지만
우리가 개발하는 Spring Boot 애플리케이션은
우리 시스템 내부에 있는 것이기에
로컬 호스트에 대한 URL은 여기서 제공할 것입니다
그리고 애플리케이션 설명은
EasyBytes 클라이언트 애플리케이션이라고 쓸 수 있죠
이것이 제가 제공하는 설명입니다
콜백 URL이란 앱 서버가
유저의 게시글이 성공적으로 인증되었는지 확인하는 것입니다
이 콜백 URL은 앞으로
localhost 8080라고 언급하겠습니다
지금으로선, 우리는
장치의 플로우 인증에 집중하지 않습니다
그것이 제가 이 옵션을 선택하지 않는 이유입니다
이제 이 '애플리케이션 등록하기'를 눌러보겠습니다
이 과정을 거치면, 의뢰인 ID가 생성된 것을 볼 수 있습니다
그리고 '클라이언트 기밀'이라는 버튼이 보일 것입니다
이 버튼을 제대로 작동 시키기 위해선
'새로운 클라이언트 기밀 생성'을 클릭해야 합니다
이를 통해 클라이언트 기밀을 오직 한 번만 보여줄 것이기에
다음과 같은 메세지를 보게 되는 것입니다
"새로운 클라이언트 기밀을 복사하는 것에 유의하십시오"
"다시 확인할 수 없을 것입니다"
그렇기에 저는, 이 클라이언트 ID와
클라이언트 기밀을 별도의 공간에 저장해놓을 것입니다
이 값을 복사해놓겠습니다
자, 이제 클라이언트 ID와 기밀을 복사하였습니다
이것을 가지고, 밑으로 스크롤을 내리면
클라이언트 애플리케이션에 로고를 덧붙일 수 있습니다
이를 통해 당신의 엔드 유저들이나 리소스 소유자들이
당신의 클라이언트 애플리케이션를 쉽게 찾을 수 있을 것입니다
제가 로고를 업로드 해보겠습니다
같은 이유로, 다운로드로 이동하겠습니다
이동하면, logo.png를 찾을 수 있습니다
이 로고를 업로드 해보겠습니다
자 이제, 로고를 업로드 했습니다
그리고 제 엔드 유저들에게는 이런 모습으로 보일 것입니다
이것이 제 애플리케이션 이름이고
여기, 홈페이지 URL도 볼 수 있습니다
애플리케이션 설명이 있고
승인 콜백 URL도 있습니다
만약 모든 게 준비되었다고 생각되면
‘애플리케이션 업데이트하기'를 클릭하면 됩니다
이후에, 개발자 설정으로 되돌아가서
OAuth 앱을 클릭했을 때 앱이 존재하는 것을 볼 수 있습니다
EasyBytes라는 이름 하에
승인 서버와 함께 등록되어있습니다
우리가 함께 진행해온 과정에 대해
확실히 이해가 가셨길 바랍니다
본 강의에서, 우리는 GitHub 앱 서버에 클라이언트를 등록하고
신청서를 작성하였습니다
우리는 의뢰인 ID와 기밀을 제공받았으며
이는 Spring Boot 애플리케이션에 사용할 수 있습니다
다음 강의에서는
간단한 Spring Boot 애플리케이션을 보여드릴 것인데
클라이언트의 세부 사항을 활용해보도록 하겠습니다
감사하고 다음 강의에서 뵙겠습니다
수고하셨습니다