여러분, 안녕하세요. 오늘은 IntelliJ IDEA에서 Personal access token을 사용하여 GitHub와 통합하는 방법을 소개하려고 합니다. Token 바인딩과 계정 바인딩의 가장 큰 차이점은 Token 바인딩을 통해 Token의 유효 일수 또는 유효 기간을 제한할 수 있다는 것입니다. Token이 만료되면 이 Token을 통해 얻은 GitHub의 인증은 종료됩니다. 이는 특별한 권한 제어 요구 사항이 있는 사람들에게 조금 도움을 줄 수 있습니다.
이번 작업에서 사용한 IntelliJ IDEA의 버전은 2023.2 (Community Edition)입니다.
Token 바인딩 작업
1.【Projects】를 클릭하고 【Get from VCS】를 클릭합니다.

2.【GitHub】을 선택하고 오른쪽에서 【Use token…】을 클릭합니다.

3.여기서 Token을 입력하는 칸이 나타납니다. 이미 Token이 있다면 그대로 입력합니다. (단, 이곳에서 입력하는 token에는 【repo, gist, read:org, workflow】의 권한이 필요하며 그 외에는 사용할 수 없습니다.) Token이 없다면 【Generate…】버튼을 눌러 Token을 만드는 과정으로 들어갑니다.

4.【Generate…】을 누르면 웹 페이지가 열립니다. 최근에 GitHub에 로그인하지 않았다면, 다시 비밀번호를 입력하여 로그인합니다.

5.로그인에 성공하면 새로운 Personal access token을 만드는 페이지로 바로 갑니다. 여기에서 가장 중요한 것은 Note와 Expiration을 입력하는 것입니다. Note에서는 이 Token의 목적이 무엇인지 입력하고 빠르게 Token을 식별할 수 있도록 합니다. Expiration에서는 기한을 선택할 수 있으며 일수, 커스텀(날짜), 또는 무기한을 선택할 수 있습니다.
Expiration 옵션의 설명은 아래 표와 같습니다.
| 옵션 | 설명 |
|---|---|
| …days | 일수. 7, 30, 60, 90일 중 선택할 수 있습니다. |
| Custom… | 커스텀. 특정 날짜를 선택할 수 있습니다. |
| No Expiration | 기한 없음. 영구히 만료되지 않습니다. |

6.설정이 완료되면 페이지 하단의 【Generate token】버튼을 클릭합니다.

7.생성이 완료되면 Token이 만들어졌음을 알 수 있습니다. 이 시점에서 복사 버튼을 클릭할 수 있습니다.

8.IntelliJ IDEA로 돌아와 Token 칸에 복사한 Token을 붙여넣고 하단의 【Log In】버튼을 클릭합니다.

9.로그인에 성공하면 왼쪽에 GitHub가 표시되고 오른쪽에는 Clone할 수 있는 리포지토리가 표시됩니다. 여기에서 통합에 성공했음을 확인할 수 있습니다.

이것이 Personal access token 바인딩의 단계입니다. 그러나 관리상의 필요로 이 Token의 권한을 취소해야 하는 경우 어떻게 해야 할까요? 아래의 작업을 확인해 보세요.
Personal access token 바인딩 해제 작업
1.브라우저를 열고 GitHub에 로그인합니다.
2.오른쪽 상단의 아이콘을 클릭하고 드롭다운 메뉴에서 【Settings】을 선택합니다.

3.왼쪽 메뉴에서 【Developer settings】을 선택합니다.

4.새 페이지에서 【Personal access tokens】을 클릭하고 【Tokens(classic)】을 선택합니다. 오른쪽 화면에서 처음 입력한 Note를 기반으로 삭제하려는 Token을 찾아 【Delete】를 클릭합니다.

5.팝업이 나타나 이 Token을 삭제해도 되는지 마지막으로 확인하고, 이 작업은 복구할 수 없다는 점을 강조합니다. 여기에서 【I understand, delete this token】을 클릭합니다.

6.선택한 token이 즉시 사라집니다. 여기에서 token이 무효화되었음을 확인할 수 있습니다.

이렇게 이 token을 무효화하는 데 성공했습니다. 그러나 IntelliJ IDEA에서는 이 계정의 기록이 여전히 존재하며 인증이 무효화된 상태입니다. 이 때 이 GitHub 계정의 기록을 수동으로 지울 수 있습니다. 관련 작업 방법은 【IntelliJ IDEA 교육 시리즈 | GIT 작업 EP1 | GitHub와의 통합-계정으로 바인드하는 방법】의 글에서 설명하고 있으니 관심 있으신 분은 확인해 보세요. 본 글에서는 생략합니다.

