Google Workspace의 3-legged OAuth

애플리케이션당 1회
1. 사용자가 웹 애플리케이션에 액세스하려고 합니다.
2. 웹 애플리케이션에서 애플리케이션에 액세스 권한을 부여하는 Google 페이지로 사용자를 리디렉션합니다.
3. 사용자가 웹 애플리케이션에 Google Workspace 데이터 (예: 연락처 또는 Google Calendar 일정)에 대한 액세스 권한을 부여한다고 Google에 알립니다.
4. Google에서 웹 애플리케이션에 승인 코드를 전송합니다.
5. 웹 앱이 승인 코드와 클라이언트 사용자 인증 정보를 Google에 전송하고 새 토큰을 수신합니다.
6. Google에서 발급된 토큰으로 이 웹 앱에 액세스 권한이 있음을 기록합니다. 관리자 또는 사용자는 나중에 이 토큰을 취소할 수 있습니다. 또한 사용자의 비밀번호가 변경되면 이 토큰은 자동으로 취소됩니다.

진행 중
사용자: OAuth에는 사용자로부터 추가 정보가 필요하지 않습니다.
참고: 사용자 또는 관리자는 언제든지 웹 앱에 대한 승인을 취소할 수 있습니다.
7. 웹 애플리케이션에서 사용자 데이터에 대한 액세스를 요청하고 토큰을 승인으로 표시합니다. 토큰이 만료되면 웹 앱은 Google에 토큰을 새로고침하도록 요청합니다.
8. Google은 토큰의 진위 여부를 확인합니다. 확인되면 Google에서 데이터를 반환합니다.

2-legged OAuth

1회 설정
1. 관리자가 웹 애플리케이션을 설치하고 2단계 OAuth 액세스 권한을 부여합니다. 웹 앱이 액세스할 수 있는 도메인의 사용자 데이터 (예: 연락처 또는 Google Calendar 일정) 범위를 정의합니다.
2. 웹 애플리케이션에서 Google에 인증하고 Google에서 액세스 토큰을 발급합니다.

진행 중 (애플리케이션에서 Google Workspace 데이터에 액세스해야 할 때마다)
3. 웹 앱에서 Google로 인증 토큰을 전송하여 사용자의 데이터 (예: 연락처 또는 Google Calendar 일정)를 요청합니다.
4. Google에서 애플리케이션이 해당 사용자의 요청된 데이터에 액세스 권한이 있는지 확인합니다. 애플리케이션에 액세스 권한이 있는 경우 Google은 요청된 업데이트를 적용하고 요청된 데이터를 반환합니다.