계정 연결을 사용하여 사용자의 Google 계정을 인증 시스템의 사용자 계정과 연결할 수 있습니다. 이를 통해 사용자에게 더 풍부한 환경을 제공할 수 있습니다. 예를 들어 사용자의 음식 또는 음악 선호도, 거래 내역, 더 맞춤화된 환경을 제공하는 데 사용할 수 있는 기타 정보를 저장할 수 있습니다.
작업이 다양한 플랫폼 (예: 웹 또는 Android)의 기존 앱의 컴패니언인 경우 계정 연결을 사용하여 사용자의 환경설정을 모든 플랫폼에서 안전하게 사용할 수 있도록 하여 일관된 크로스 플랫폼 환경을 보장할 수 있습니다.
Google 어시스턴트 앱의 계정 연결은 Google의 보안 인증 시스템인 Google 로그인과 선택적으로 승인에 사용되는 업계 표준 프로토콜인 OAuth 2.0을 사용합니다.
계정 연결 흐름 이해
어시스턴트가 Google 계정을 사용자와 매칭하면 계정 연결을 사용하여 해당 Google 계정에 액세스할 수 있는 사용자 권한을 요청할 수 있습니다. 계정 데이터를 사용하여 다음을 수행할 수 있습니다.
사용자가 이미 다른 플랫폼에서 내 작업 또는 앱 중 하나를 사용한 경우 인증 시스템에서 계정을 찾습니다.
새 사용자를 위해 인증 시스템에 새 계정을 만듭니다.
Actions on Google에서는 세 가지 계정 연결 유형을 제공합니다.
Google 로그인
그림 1: Google 로그인 전용 계정 연결 유형은 어시스턴트만 타겟팅하는 작업에 권장되는 솔루션입니다.
어시스턴트용 Google 로그인을 사용하면 작업에서 대화 중에 사용자 이름, 이메일 주소, 프로필 사진 등 사용자의 Google 프로필에 대한 액세스를 요청할 수 있습니다. 사용자는 음성으로 전체 흐름을 완료할 수 있으므로 원활한 로그인 환경을 제공합니다.
다음 중 하나라도 해당하는 경우 이 유형의 계정 연결이 권장됩니다.
기존 인증 시스템이 없습니다.
기존 인증 시스템이 있으며 @gmail.com 주소를 사용하여 기존 앱에 가입한 사용자에게만 연결하고 싶습니다.
그림 2: OAuth 2 계정 연결 유형을 사용하는 Google 로그인은 멀티 플랫폼 작업에 권장되는 솔루션입니다.
OAuth 및 Google 로그인 연결 유형은 OAuth 기반 계정 연결 위에 Google 로그인을 추가합니다. 이를 통해 Google 사용자는 원활한 음성 기반 연결을 이용할 수 있으며, Google 이외의 ID로 서비스에 등록한 사용자는 계정 연결을 이용할 수 있습니다.
이 흐름을 사용하려면 지원되는 OAuth 2 표준 흐름 중 하나를 확장하여 프로토콜의 Google 독점 확장 프로그램을 지원해야 합니다. 이를 통해 다음 작업을 할 수 있습니다.
Google 프로필 정보를 사용하여 계정을 원활하게 연결합니다.
Google 프로필 정보를 사용하여 새 계정을 원활하게 만듭니다 (선택사항).
기존 인증 시스템이 있고 사용자가 @gmail.com 이외의 주소에 연결하도록 허용하려는 경우 이 유형의 계정 연결이 권장됩니다.
OAuth 계정 연결 유형은 두 가지 업계 표준 OAuth 2.0 흐름인 암시적 및 승인 코드 흐름을 지원합니다.
이 흐름은 음성에서 화면으로 사용자 상호작용을 전송해야 하므로 사용하지 않는 것이 좋습니다. OAuth 2 서버의 기존 구현이 있고 ID 토큰에서 자동 연결 및 계정 생성을 위한 Google 프로토콜을 지원하도록 토큰 교환 엔드포인트를 확장할 수 없는 경우 이 흐름을 사용하는 것이 좋습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-24(UTC)"],[[["\u003cp\u003eConversational webhook requests include an authorization token in the \u003ccode\u003egoogle-assistant-signature\u003c/code\u003e header for security.\u003c/p\u003e\n"],["\u003cp\u003eThis token utilizes the JSON Web Token (JWT) format and carries an audience field matching your Actions console project ID, allowing for verification.\u003c/p\u003e\n"],["\u003cp\u003eVerification can be achieved by unpacking the token to confirm the audience field or by leveraging tools like the Google APIs Node.js client or the \u003ccode\u003eConversationOptions#verification\u003c/code\u003e option in the Actions on Google Node.js Client Library.\u003c/p\u003e\n"],["\u003cp\u003eThe JWT encompasses fields like issuer (\u003ccode\u003eiss\u003c/code\u003e), audience (\u003ccode\u003eaud\u003c/code\u003e), not valid before (\u003ccode\u003enbf\u003c/code\u003e), issued at (\u003ccode\u003eiat\u003c/code\u003e), expiration time (\u003ccode\u003eexp\u003c/code\u003e), and a unique identifier (\u003ccode\u003ejti\u003c/code\u003e).\u003c/p\u003e\n"]]],["Account linking connects users' Google accounts to your authentication system, enhancing user experiences across platforms. Actions on Google offers three types: Google Sign-In, ideal for Assistant-only actions or linking to @gmail.com accounts; OAuth and Google Sign-In, best for multi-platform actions and non-@gmail.com accounts; and OAuth, for existing OAuth 2.0 servers, but less favored. Account linking allows matching existing accounts or creating new ones using Google account data, and Google monitors account linking flow health.\n"],null,["# Account linking (Dialogflow)\n\n**Note:** Actions that enable Account Linking aren't currently available on Android (Go edition) or KaiOS devices. \n\nYou can use account linking to connect your users' Google accounts with user\naccounts in your authentication system. This allows you to build richer\nexperiences for your users; for example, you can save the user's food or music\npreferences, history of transactions, and other information that you can use\nto provide a more personalized experience.\n\nIf your Action is a companion of existing apps on different platforms (for example,\nthe web or Android), you can use account linking to securely make users' preferences\navailable to all platforms, which ensures a consistent cross-platform experience.\n\nAccount linking for Actions on Google uses [Google Sign-In](/identity),\nGoogle's secure authentication system, and optionally, [OAuth 2.0](https://oauth.net/2/) ,\nthe industry-standard protocol for authorization.\n| **Note:** Google monitors the functionality of the account linking flow in your Action. If your Action that uses account linking is marked as unhealthy, Google sends you a notification email. Upon receipt of this email, you have 7 days to fix the issue; otherwise, your agent will be taken down. For more information, see [health checks](/assistant/console/health-checks).\n\nUnderstand the account linking flow\n-----------------------------------\n\nWhen the Assistant matches a Google account to a user, you can use account\nlinking to ask for the user's permission to access that Google account. You can use\nthe account data to do the following:\n\n- To find a match for the account in your authentication system if the user has already used your Action or one of your apps on other platforms.\n- To create a new account in your authentication system for a new user.\n\nActions on Google offers three different account linking types.\n\n### Google Sign-In\n\n**Figure 1**: The Google Sign-In only account linking type is the recommended solution for Actions that target only the Assistant.\n\nWith *Google Sign-In for the Assistant*, your Action can request access to your user's\nGoogle profile during a conversation, including the user's name, email address,\nand profile picture. The user can complete the whole flow over voice, which provides\na frictionless sign-in experience.\n\nThis type of account linking is recommended if **any** of the following applies:\n\n- You don't have an existing authentication system.\n- You have an existing authentication system and only want to link to users who signed up to your existing apps using their @gmail.com address.\n\nTo learn more, see the [Google Sign-In concept guide](/assistant/df-asdk/identity/gsi-concept-guide)\nand [implementation guide](/assistant/df-asdk/identity/google-sign-in).\n\n### OAuth and Google Sign-In\n\n**Figure 2**: The Google Sign-In with OAuth 2 account linking type is the recommended solution for multi-platform Actions.\n\nThe *OAuth and Google Sign-In* linking type adds Google Sign-In on top of OAuth based\naccount linking. This provides seamless voice-based linking for Google users\nwhile also enabling account linking for users who registered to your service\nwith a non-Google identity.\n\nTo use this flow, you need to extend one of the supported OAuth 2 standard flows\nto add support for Google proprietary extensions of the protocol, which allow you\nto:\n\n- Seamlessly link accounts using the Google profile information.\n- Seamlessly create new accounts using the Google profile information (optional).\n\nThis type of account linking is recommended if you have an existing authentication\nsystem and you want to allow users to connect to non @gmail.com addresses.\n\nTo learn more, see the [OAuth and Google Sign-In concept guide](/assistant/df-asdk/identity/gsi-oauth-concept-guide)\nand [implementation guide](/assistant/df-asdk/identity/google-sign-in-oauth).\n\n### OAuth\n\nThe *OAuth* account linking type supports two industry standard OAuth 2.0 flows,\nthe *implicit* and *authorization* code flows.\n\nUsing this flow is discouraged because it requires transferring the user interaction\nfrom voice to screen. You can consider using this flow if you have an existing\nimplementation of an OAuth 2 server, and you cannot extend the token exchange endpoint\nto add support for Google's protocols for automatic linking and account creation\nfrom an ID token.\n\nTo learn more, see the [OAuth concept guide](/assistant/df-asdk/identity/oauth-concept-guide)\nand [implementation guide](/assistant/df-asdk/identity/oauth2)."]]