Settings => Developer settings => OAuth Apps 에 등록 진행
GET https://github.com/login/oauth/authorize
client_id
등록시 Github 에서 받은 client ID
redirect_uri
만약 어플리케이션에 등록한 redirect_uri 와 사용자가 전달한 redirect_uri 가 일지하지 않는다면 `redirect uri mismatch` 에러를 던진다.
http://localhost:3000/user/github-login?error=redirect_uri_mismatch
&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.
&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23redirect-uri-mismatch
아래와 같이 요청을 보내면 github 로그인 화면이 나오게 된다.
https://github.com/login/oauth/authorize?client_id=<client_id>&redirect_uri=<redirect_uri>
로그인 정보를 입력하고 접근 권한과 관련된 승인을 하면 이전에 등록했던 redirect_uri 로 code
가 query parameter 로 전달된다.
전달 받은 code
는 10분 후에 만료된다.
http://localhost:3000/user/github-login?code=<code>
[github OAuth] https://docs.github.com/ko/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps