개발자가 소프트웨어를 빌드할 때 웹 서버에서 실행되는 모듈, 브라우저에서 실행되는 다른 모듈, Android 또는 iOS 모바일 앱으로 실행되는 모듈이 포함되는 경우가 많습니다. 개발자와 소프트웨어를 사용하는 사람은 일반적으로 이러한 모든 모듈을 단일 앱의 일부로 생각합니다.
Google의 OAuth 2.0 구현은 이러한 관점을 지원합니다. OAuth2.0 기반 서비스를 사용하려면 Google API Console에서 소프트웨어를 설정해야 합니다. API Console 의 조직 단위는 다중 구성요소 앱에 해당하는 '프로젝트'입니다. 각 프로젝트에 브랜딩 정보를 제공할 수 있으며 앱이 액세스할 API를 지정해야 합니다. 다중 구성요소 앱의 각 구성요소는 API Console에서 생성되는 고유한 문자열인 클라이언트 ID로 식별됩니다.
교차 클라이언트 승인 목표
앱이 승인에 OAuth 2.0을 사용하는 경우 앱은 사용자를 대신하여 리소스에 액세스하기 위한 OAuth 2.0 액세스 토큰을 요청합니다. 앱은 하나 이상의 범위 문자열로 리소스를 식별합니다. 일반적으로 사용자에게 액세스 권한을 승인하라는 메시지가 표시됩니다.
사용자가 특정 범위에 대해 앱에 액세스 권한을 부여하면 사용자는 Google API Console에서 설정한 프로젝트 수준 제품 브랜딩이 포함된 사용자 동의 화면을 보게 됩니다. 따라서 Google에서는 사용자가 프로젝트의 클라이언트 ID에 특정 범위에 대한 액세스 권한을 부여한 경우, 부여는 해당 범위에 대한 사용자의 전체 애플리케이션에 대한 신뢰를 나타내는 것으로 간주합니다.
이로 인해 사용자는 동일한 논리적 애플리케이션에 대해 리소스 액세스를 한 번 이상 승인하라는 메시지를 표시하지 않아야 합니다. 이는 애플리케이션의 구성요소가 Google의 승인 인프라(현재 웹 앱, Android 앱, Chrome 앱, iOS 앱, 데스크톱 앱, 제한된 입력 기기 포함)에 의해 안정적으로 인증될 수 있는 경우에 해당합니다.
크로스 클라이언트 액세스 토큰
소프트웨어는 코드가 실행되는 플랫폼에 따라 다양한 방법으로 OAuth 2.0 액세스 토큰을 획득할 수 있습니다. 자세한 내용은 OAuth 2.0을 사용하여 Google API에 액세스하기를 참고하세요. 일반적으로 액세스 토큰을 부여할 때는 사용자 승인이 필요합니다.
다행히도 Google 승인 인프라는 동일한 프로젝트에서 다른 사용자를 승인할지 여부를 평가할 때 지정된 프로젝트 내의 클라이언트 ID에 대한 사용자 승인 정보를 사용할 수 있습니다.
결과적으로 Android 앱이 특정 범위의 액세스 토큰을 요청하고 요청하는 사용자가 동일한 프로젝트의 웹 애플리케이션에 동일한 범위에 대한 승인을 이미 부여한 경우 사용자에게 다시 승인을 요청하지 않습니다. 이는 양방향으로 작동합니다. Android 앱에서 범위에 대한 액세스 권한이 부여된 경우 웹 애플리케이션과 같은 동일한 프로젝트의 다른 클라이언트에서 다시 요구하지 않습니다.
[[["이해하기 쉬움","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-31(UTC)"],[[["\u003cp\u003eGoogle's OAuth 2.0 implementation allows developers to manage authorization for multi-component applications (web, mobile, etc.) under a single project in the Google API Console.\u003c/p\u003e\n"],["\u003cp\u003eUser consent for a specific scope granted to one component (e.g., web app) within a project is extended to other components (e.g., Android app) in the same project, streamlining the authorization process and preventing redundant prompts.\u003c/p\u003e\n"],["\u003cp\u003eClient IDs, unique identifiers for each application component, are used by Google's authorization infrastructure to manage and track access permissions within a project.\u003c/p\u003e\n"],["\u003cp\u003eThis cross-client authorization ensures a seamless user experience by recognizing prior user consent and leveraging it across different parts of the same application.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can obtain OAuth 2.0 access tokens using various methods depending on the platform, and Google's infrastructure uses existing user approvals to minimize authorization requests.\u003c/p\u003e\n"]]],[],null,[]]