로그인 환경은 사용자가 부가기능과 처음 상호작용하는 환경이므로 최대한 원활하게 흐름을 완료할 수 있어야 합니다. 아래 섹션을 읽고 다양한 로그인 API, 로그인 관련 쿼리 매개변수, 팝업 차단기 처리 방법, 개발 중에 사용하여 권장사항을 따르고 있는지 확인할 수 있는 테스트 계획을 숙지하세요.
Google 로그인을 구현할 때는 Google ID 웹사이트에 제공된 기술 가이드를 참고하세요. Google 로그인 브랜드 가이드라인을 따르시기 바랍니다. Sketch, SVG, EPS 파일이 다운로드용으로 제공됩니다.
로그인 테스트
애드온을 검토를 위해 제출하기 전에 애드온이 필수 표준을 충족하고 알려진 특이 사례를 처리할 수 있는지 애드온 테스트 계획을 사용하여 확인하세요. 이러한 테스트는 클래스룸 부가기능 요구사항 체크리스트를 밀접하게 반영하며 부가기능이 이러한 요구사항을 충족하는지 확인하는 방법에 관한 단계별 안내를 제공합니다. 이러한 테스트는 게시 중에 애플리케이션이 테스트되는 테스트와 동일합니다.
로그인 쿼리 매개변수
Google 클래스룸은 반복적인 로그인을 용이하게 하는 데 도움이 되는 login_hint 쿼리 매개변수를 제공합니다. 자세한 내용은 iframe 쿼리 매개변수 페이지의 로그인 관련 매개변수 섹션을 참고하세요. 샘플 코드는 개발자 둘러보기의 반복 방문 처리 둘러보기에서 확인할 수 있습니다.
팝업 차단기 관리
부가기능 로그인은 로그인 대화상자 창을 통해 이루어집니다. 이 창에는 계정 선택기 화면이 표시되며 사용자가 OAuth 권한을 부여할 수 있습니다. 최종 사용자의 팝업 차단기로 인해 로그인 흐름을 완료하지 못할 수 있습니다.
그림 1.계정 선택기 화면의 예
이 문제를 해결하려면 최종 사용자가 팝업 차단기를 우회하기 위해 클릭할 수 있는 버튼을 제공하세요. 이 상호작용을 통해 최종 사용자가 로그인 흐름을 계속할 수 있도록 로그인 대화상자가 표시됩니다. 제공하는 버튼이 로그인 브랜드 가이드라인을 준수하는지 확인합니다.
개발자 둘러보기의 로그인 둘러보기에 따라 클릭하여 로그인 대화상자를 트리거할 수 있는 Google 브랜드 로그인 버튼을 구현합니다.
멀티 로그인
동시에 여러 계정이 로그인된 브라우저는 부가기능 사용자 흐름을 방해할 수 있습니다. 최종 사용자는 현재 브라우저에서 모든 Google 계정에서 로그아웃하거나 올바른 계정으로 로그인하기 전에 시크릿 Chrome 창에서 클래스룸을 열고 작업을 다시 시도할 수 있습니다.
멀티 로그인 문제로 인해 잘못된 사용자가 부가기능에 로그인한 경우 Classroom 부가기능 API 호출이 InvalidAddOnToken 오류와 함께 실패할 수 있습니다. 이러한 오류가 표시되면 사용자에게 브라우저에서 다른 모든 계정에서 로그아웃하거나 Chrome 시크릿 모드 창에서 클래스룸을 열도록 안내해야 합니다.
[[["이해하기 쉬움","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-08-29(UTC)"],[],[],null,["# Frictionless sign-in\n\nSince the sign-in experience is the first interaction a user may have with your\nadd-on, it's important that they're able to complete the flow as seamlessly as\npossible. Read the sections below to familiarize yourself with the various\nsign-in APIs, sign-in related query parameter, how to handle pop-up blockers,\nand a test plan that you can use during development to ensure you're following\nbest practices.\n\nSSO implementation details\n--------------------------\n\n[Google's OAuth 2.0](/identity/protocols/oauth2) is compatible with many OAuth\n2.0 stacks. We **strongly** recommend implementing server-side authorization as\nit's the highest security option and supports using the [iframe query\nparameters](#sign-in_query_parameters).\n| **Tip:** Google's OAuth 2.0 implementation does not support redirects in iframes for security reasons; iframes must use a pop up to authenticate users.\n\nRefer to the technical guidance provided in the [Google Identity website](/identity/gsi/web) when\nimplementing Google sign-in. Be sure to follow the Google [sign-in branding\nguidelines](/identity/branding-guidelines). Sketch, SVG, and EPS files are provided for download.\n| **Important:** The [Google Sign-In JavaScript platform library for Web](/identity/sign-in/web/server-side-flow) is [deprecated as of March 2023](//developers.google.com/identity/sign-in/web/deprecation-and-sunset). This library shouldn't be used moving forward.\n\nSign-in tests\n-------------\n\nUse the add-ons [test plan](/static/workspace/classroom/assets/classroom_add_ons_test_plan.pdf) to check that your add-on is meeting the\nrequired standards and able to handle known edge cases before you submit your\nadd-on for review. These tests closely mirror the Classroom add-on\n[requirements checklist](/workspace/classroom/add-ons/requirements), and give you step-by-step instructions on how to check\nif your add-on meets those requirements. These are the same tests against which\nyour application is tested during publication.\n\nSign-in query parameters\n------------------------\n\nGoogle Classroom provides the `login_hint` query parameter to help facilitate\nrepeated sign-in. See the [sign-in related parameters section](/workspace/classroom/add-ons/developer-guides/iframes#sign-in_related_parameters) of the iframe\nquery parameters page for additional information. Sample code can be found in\nthe [handle repeat visits walkthrough](/workspace/classroom/add-ons/walkthroughs/repeat-login) of our developer walkthroughs.\n\nManage pop-up blockers\n----------------------\n\nSigning in to the add-on is facilitated by the sign-in dialog window. This\nwindow displays the account selector screen and allows the user to grant OAuth\npermissions. An end user's pop-up blocker could prevent them from completing the\nsign-in flow.\n\n**Figure 1.** An example of an **account selector screen**.\n\nTo resolve this problem, provide the end user with a button to click to bypass\nthe pop-up blocker. This interaction allows the sign-in dialog to be displayed\nso the end user can continue with the sign-in flow. Ensure that the button you\nprovide follows the [sign-in branding guidelines](/identity/branding-guidelines).\n\nFollow the [sign-in walkthrough](/workspace/classroom/add-ons/walkthroughs/sign-in) in our developer walkthroughs to implement a\nGoogle branded sign-in button that can be clicked to trigger the sign-in dialog.\n\nMulti-login\n-----------\n\nA browser with multiple accounts signed-in at the same time may disrupt the\nadd-on user flow. End users can either sign out of all Google Accounts in their\ncurrent browser *or* open Classroom in an incognito Chrome window\nbefore signing in with the correct account and retrying the operation.\n\nIf an incorrect user is signed-in to the add-on due to the multi-login issue,\nyour calls to the Classroom add-ons API may fail with an\n[`InvalidAddOnToken`](/workspace/classroom/reference/addons_errors#invalidaddontoken) error. If you receive such an error, you should instruct\nthe user to either sign out of all other accounts in the browser or open\nClassroom in an incognito Chrome window instead."]]