이 주제에서는 OAuth 2.0 승인 흐름에서 사용할 클라이언트 사용자 인증 정보(개발자 키라고도 함)를 가져오는 방법을 설명합니다.
클라이언트 사용자 인증 정보란 무엇인가요?
OAuth 2.0 인증 흐름에 참여하려면 모든 클라이언트 앱을 Apigee(승인 서버)에 등록해야 합니다. 앱을 등록할 때 2개의 인증 정보(키와 보안 비밀)가 할당됩니다. 키는 공개 키이며 보안 비밀은 절대 공개해서는 안 됩니다. Apigee는 이러한 사용자 인증 정보 키를 사용하여 클라이언트 앱을 고유하게 식별할 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-19(UTC)"],[[["\u003cp\u003eThis content pertains to obtaining client credentials, also known as developer keys, for OAuth 2.0 authorization within Apigee and Apigee hybrid.\u003c/p\u003e\n"],["\u003cp\u003eClient apps must register with Apigee to receive a unique Key (public) and Secret (private) for identification during OAuth 2.0 flows.\u003c/p\u003e\n"],["\u003cp\u003eClient credentials, referred to as the client identifier and client secret in the IETF OAuth 2.0 specification, are synonymous with Apigee's Credential Key and Secret.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve the client Key and Secret either through the Apigee UI or via Apigee APIs, using \u003ccode\u003ecurl\u003c/code\u003e commands and OAuth 2.0 access tokens.\u003c/p\u003e\n"],["\u003cp\u003eUsing Apigee API calls, you can use the application ID to extract a detailed app profile, including the \u003ccode\u003econsumerKey\u003c/code\u003e and \u003ccode\u003econsumerSecret\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Obtaining client credentials\n\n*This page\napplies to **Apigee** and **Apigee hybrid**.*\n\n\n*View [Apigee Edge](https://docs.apigee.com/api-platform/get-started/what-apigee-edge) documentation.*\n\nThis topic discusses obtaining client credentials (also called developer keys) for use\nin the OAuth 2.0 authorization flow.\n\nWhat are client credentials?\n----------------------------\n\nTo participate in any OAuth 2.0 authorization flow, all client apps must be registered with Apigee (the\nauthorization server). When you register your app, you will be assigned two credentials: a Key and a Secret. The Key is a\npublic key and Secret must never be made public. These credential keys allow\nApigee to uniquely identify the client app.\n| **Note:** Terminology: The [IETF OAuth 2.0 specification](https://tools.ietf.org/html/draft-ietf-oauth-v2-31) refers to client credentials as the client identifier and client secret. The Apigee UI refers to them as the Credential Key and Secret. These terms are synonymous.\n\nGetting the key and secret from the Apigee UI\n---------------------------------------------\n\nSee [Viewing an API key and secret](/apigee/docs/api-platform/publish/creating-apps-surface-your-api#view-api-key).\n\nGetting the key and secret with Apigee APIs\n-------------------------------------------\n\nUse an API to get the list of apps in your organization: \n\n```\ncurl \"https://apigee.googleapis.com/v1/organizations/$ORG/apps\" \\\n -H \"Authorization: Bearer $TOKEN\"\n```\n\nWhere `$TOKEN` is set to your OAuth 2.0 access token, as described in\n[Obtaining an OAuth 2.0 access token](/apigee/docs/api-platform/get-started/api-get-started#oauth20). For information about the `curl` options used in this example, see\n[Using curl](/apigee/docs/api-platform/get-started/api-get-started#curl). For a description of environment variables you can use, see\n[Setting\nenvironment variables for Apigee API requests](/apigee/docs/api-platform/get-started/api-get-started#api-environment-variables).\n\nThis call returns a list of apps by **app ID**. \n\n```text\n[ \"da496fae-2a04-4a5c-b2d0-709278a6f9db\", \"50e3e831-175b-4a05-8fb6-05a54701af6e\" ]\n```\n\nTo retrieve an app's profile: \n\n```\ncurl \"https://apigee.googleapis.com/v1/organizations/$ORG/apps/$APP\" \\\n -H \"Authorization: Bearer $TOKEN\"\n```\n\nWhere `$TOKEN` is set to your OAuth 2.0 access token, as described in\n[Obtaining an OAuth 2.0 access token](/apigee/docs/api-platform/get-started/api-get-started#oauth20). For information about the `curl` options used in this example, see\n[Using curl](/apigee/docs/api-platform/get-started/api-get-started#curl). For a description of environment variables you can use, see\n[Setting\nenvironment variables for Apigee API requests](/apigee/docs/api-platform/get-started/api-get-started#api-environment-variables).\n\nFor example: \n\n```\n$ curl https://apigee.googleapis.com/v1/o/organizations/myorg/apps/da496fae-2a04-4a5c-b2d0-709278a6f9db \\\n -H \"Authorization: Bearer $TOKEN\"\n```\n\nThe API returns the profile of the app you specified. For example, an app profile\nfor **weatherapp** has the following JSON representation: \n\n```transact-sql\n{\n \"accessType\" : \"read\",\n \"apiProducts\" : [ ],\n \"appFamily\" : \"default\",\n \"appId\" : \"da496fae-2a04-4a5c-b2d0-70928a6f9db\",\n \"attributes\" : [ ],\n \"callbackUrl\" : \"http://weatherapp.com\",\n \"createdAt\" : 1380290158713,\n \"createdBy\" : \"noreply_admin@apigee.com\",\n \"credentials\" : [ {\n \"apiProducts\" : [ {\n \"apiproduct\" : \"PremiumWeatherAPI\",\n \"status\" : \"approved\"\n } ],\n \"attributes\" : [ ],\n \"consumerKey\" : \"bBGAQrXgivA9lKu7NMPyYpVKNhGar6K\",\n \"consumerSecret\" : \"hAr4Gn0gA9vyvI4\",\n \"expiresAt\" : -1,\n \"issuedAt\" : 1380290161417,\n \"scopes\" : [ ],\n \"status\" : \"approved\"\n } ],\n \"developerId\" : \"5w95xGkpnjzDBT4\",\n \"lastModifiedAt\" : 1380290158713,\n \"lastModifiedBy\" : \"noreply_admin@apigee.com\",\n \"name\" : \"weatherapp\",\n \"scopes\" : [ ],\n \"status\" : \"approved\"\n}\n```\n\nNote the values\nfor `consumerKey` and `consumerSecret`."]]