작업에 가장 적합한 계정 연결 유형은 사용자에게 가장 간단한 환경을 제공하고 애플리케이션 또는 비즈니스의 요구사항에 맞는 유형입니다. 연결 유형을 선택할 때는 주로 다음 요소에 따라 달라집니다.
- 음성을 통한 계정 생성 허용 여부
- 사용자가 Google 이외의 계정으로 서비스에 로그인할 수 있도록 할지 여부
- 서비스에서 기밀 정보(예: 클라이언트 보안 비밀번호)를 저장할 수 있는지 여부
이상적인 계정 연결 유형을 알아보려면 다음 단계를 따르세요.
- 선호하는 로그인 유형 식별 섹션의 질문을 고려하세요.
- 결정 트리를 참고하여 연결 유형을 선택합니다.
- 선택한 초기 유형에 해당하는 섹션으로 이동하여 작동 방식을 더 세분화합니다.
원하는 로그인 유형 확인하기
결정 트리를 참고하기 전에 다음 질문을 고려하세요.
- 모든 사용자에게 Google 계정이 있어야 하나요?
- 작업이 어시스턴트만 타겟팅한다면 모든 사용자에게 Google 계정이 있을 것이라고 예상할 수 있습니다. 작업이 어시스턴트 이외의 플랫폼을 타겟팅하는 경우 모든 사용자에게 Google 계정이 있을 것이라고 예상할 수는 없습니다.
- 서비스에 이미 기존 사용자가 있다면 일부 사용자에게는 Google 계정이 없거나 Google 계정으로 서비스에 로그인하지 않았을 가능성이 높습니다.
- OAuth 구현이 있는 경우 Google 프로토콜을 지원하도록 확장할 수 있나요?
- Google 프로토콜을 지원하려면
intent=get
및intent=create
기능을 토큰 교환 엔드포인트에 추가할 수 있어야 합니다. 이 기능을 사용하면 Google에서 사용자가 이미 백엔드에 있는지 확인하고 서비스에 각각 새 계정 생성을 요청할 수 있습니다.
- Google 프로토콜을 지원하려면
아래의 결정 트리를 따라 나와 사용자에게 가장 적합한 계정 연결 유형을 찾아보세요.
연결 유형을 선택한 후 아래의 해당 섹션으로 진행하여 작동 방식을 자세히 알아보고 작업에서 계정 연결이 작동하는 방식에 관한 추가 결정을 내립니다.
OAuth 및 Google 로그인
OAuth 및 Google 로그인 (GSI) 연결 유형은 OAuth 기반 계정 연결 외에 GSI를 추가하므로 GSI의 이점 (예: Google 사용자를 위한 음성 기반 연결)을 제공하는 동시에 Google 이외의 계정으로 서비스에 등록한 사용자에게 계정 연결을 사용 설정할 수 있습니다. 이 연결 유형은 Google 사용자가 아닌 사용자를 위한 대체 과정을 원활하게 진행하므로 최종 사용자에게 특히 유용합니다. OAuth 및 GSI 연결 유형의 작동 방식에 관한 자세한 내용은 OAuth 및 Google 로그인 개념 가이드를 참고하세요.
OAuth 및 Google 로그인 연결 유형 조정
작업에서 OAuth 및 GSI 계정 연결 유형을 사용할 경우 Actions 콘솔에서 다음 질문에 대한 답변을 지정하여 작동 방식을 정의합니다.
음성 계정 생성을 사용 설정하시겠어요, 아니면 웹사이트에서 계정 생성만 허용하시겠어요?
일반적으로, 선택되지 않은 기기의 사용자가 다른 기기로 전송할 필요 없이 계정을 만들 수 있도록 음성을 통해 계정 생성을 사용 설정해야 합니다. 음성을 통한 계정 생성을 허용하지 않으면 어시스턴트가 사용자 인증을 위해 제공된 웹사이트 URL을 열고 사용자를 휴대전화로 안내하여 계정 연결 흐름을 계속 진행합니다.
하지만 다음 중 하나에 해당하는 경우 음성을 통한 계정 생성을 허용하면 안 됩니다.
- 계정 생성 흐름을 완전히 관리할 수 있어야 합니다. 예를 들어 계정 생성 또는 다른 유형의 고지 중에 사용자에게 서비스 약관을 표시해야 할 수 있습니다.
- 이미 계정이 있는 사용자가 해당 계정으로 로그인하도록 하려고 합니다. 예를 들어 포인트 제도를 제공하고 사용자가 계정에서 누적된 포인트를 잃지 않도록 하려면 사용자가 기존 계정을 계속 사용하도록 할 수 있습니다.
승인 코드 흐름을 사용하시겠습니까, 아니면 암시적 흐름을 사용하시겠습니까?
승인 코드 흐름과 암시적 흐름은 승인 코드 흐름에 두 번째 엔드포인트인 토큰 교환 엔드포인트가 필요하다는 점이 다릅니다. 이 엔드포인트는 갱신 토큰을 사용하여 사용자에게 다시 로그인하라는 메시지를 표시하지 않고 임시 액세스 토큰을 새로 생성합니다.
반대로 암시적 흐름을 사용하면 일반적으로 다시 생성할 필요가 없는 장기 액세스 토큰이 Google로 반환됩니다. 승인 코드 및 암시적 흐름에 대한 자세한 내용은 OAuth 및 Google 로그인 개념 가이드를 참조하세요.
작업의 승인 코드 흐름이 더 안전하기 때문에 Google은 이 과정을 사용하는 것이 좋습니다. 그러나 서비스가 기밀 정보 (즉, 클라이언트 보안 비밀번호)를 저장할 수 없는 경우 대신 암시적 흐름을 사용합니다. 예를 들어 단일 페이지 애플리케이션 (SPA)과 같은 공개 클라이언트의 암시적 흐름을 사용해야 합니다.
이러한 결정 지점을 고려한 후 다음 결정 트리를 참고하세요.
Google 로그인
GSI 연결 유형을 사용하면 작업이 대화 중에 사용자의 Google 프로필에 대한 액세스 권한을 요청하고 프로필 정보를 사용하여 사용자가 서비스의 백엔드에 있는지 확인할 수 있습니다. 사용자가 존재하지 않는 경우 Google 프로필 정보를 사용하여 시스템에서 새 계정을 만들 수 있습니다.
GSI의 경우 음성을 통한 계정 생성을 사용 설정해야 사용자가 음성으로 전체 흐름을 완료할 수 있습니다. GSI에 관한 자세한 내용은 Google 로그인 개념 가이드를 참고하세요.
OAuth
OAuth 연결 유형을 사용하면 사용자가 표준 OAuth 2 흐름으로 로그인합니다. OAuth 연결 유형은 두 가지 업계 표준 OAuth 2.0 흐름, 즉 암시적 및 승인 코드 흐름을 지원합니다.
Google은 단독으로 OAuth 연결 유형을 사용하지 않는 것이 좋습니다. 사용자가 선택되지 않은 기기를 사용하는 경우 로그인 프로세스를 완료하기 위해 음성에서 화면으로 사용자를 이동해야 하기 때문입니다. OAuth 2 서버의 기존 구현이 있고 ID 토큰에서 자동 연결 및 계정 생성을 위한 Google 프로토콜 지원을 추가하기 위해 토큰 교환 엔드포인트를 확장할 수 없는 경우 이 흐름을 사용하는 것이 좋습니다. 자세한 내용은 OAuth 개념 가이드를 참고하세요.
흐름 다듬기
작업에서 OAuth 계정 연결 유형을 사용하는 경우 Actions 콘솔에서 다음 질문에 대한 답변을 지정하여 작동 방식을 정의해야 합니다.
승인 코드 흐름을 사용하시겠습니까, 아니면 암시적 흐름을 사용하시겠습니까?
OAuth 연결 유형은 두 가지 업계 표준 OAuth 2.0 흐름, 즉 암시적 및 승인 코드 흐름을 지원합니다. 승인 코드 흐름과 암시적 흐름은 승인 코드 흐름에 두 번째 엔드포인트인 토큰 교환 엔드포인트가 필요하다는 점에서 다릅니다. 이 엔드포인트는 사용자에게 다시 로그인하라는 메시지를 표시하지 않고 갱신 토큰을 사용하여 사용 기간이 짧은 새로운 액세스 토큰을 생성합니다.
반대로 암시적 흐름을 사용하면 일반적으로 다시 생성할 필요가 없는 장기 액세스 토큰이 Google로 반환됩니다. 승인 코드 및 암시적 흐름에 대한 자세한 내용은 OAuth 개념 가이드를 참조하세요.
작업의 승인 코드 흐름이 더 안전하기 때문에 Google은 이 과정을 사용하는 것이 좋습니다. 그러나 서비스가 기밀 정보 (즉, 클라이언트 보안 비밀번호)를 저장할 수 없는 경우 대신 암시적 흐름을 사용합니다. 예를 들어 단일 페이지 애플리케이션 (SPA)과 같은 공개 클라이언트의 암시적 흐름을 사용해야 합니다.