origin은 요청이 발생한 애플리케이션 또는 웹사이트를 나타내며 피싱 공격으로부터 보호하기 위해 패스키에서 사용합니다.
앱 서버는 클라이언트 데이터 origin을 승인된 앱 및 웹사이트의 허용 목록과 대조해야 합니다. 서버가 인식할 수 없는 출처의 앱이나 웹사이트로부터 요청을 수신하는 경우 요청을 거부해야 합니다.
이 문서에서는 이러한 권한이 있는 호출 앱의 출처를 설정하는 방법과 이러한 앱이 다른 당사자를 대신하여 호출할 수 있는지 확인하는 방법을 설명합니다.
호출 앱의 출처 설정
다른 신뢰 당사자를 대신하여 사용자 인증 정보를 가져오려면 사용자 인증 정보를 제공하는 사용자 인증 정보 제공업체가 이러한 액세스 권한을 얻을 수 있는 권한 있는 호출자 목록에 앱을 추가해야 합니다. 그런 다음, createCredential()과 getCredential() 요청에서 setOrigin()을 사용하여 origin 값을 설정합니다.
서드 파티 사용자 인증 정보를 처리해야 하는 권한이 있는 앱(예: 웹브라우저)의 경우 Google 비밀번호 관리자에서 해당 사용자 인증 정보를 처리하기 위한 승인을 요구합니다. 이렇게 하면 신뢰할 수 있는 앱만 외부 서비스의 사용자 인증 정보에 액세스하고 관리할 수 있습니다. 서드 파티 사용자 인증 정보 처리 승인을 받으려면 요청 양식을 작성하여 티켓을 열고 요청을 검토받습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[null,null,["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Make Credential Manager calls on behalf of other parties for privileged apps\n\nPrivileged apps such as web browsers can make a Credential Manager call on\nbehalf of other relying parties by setting the `origin` parameter in Credential\nManager's [`GetCredentialRequest()`](/reference/androidx/credentials/GetCredentialRequest#GetCredentialRequest(kotlin.collections.List,kotlin.String,kotlin.Boolean,android.content.ComponentName,kotlin.Boolean)) and\n[`CreatePublicKeyCredentialRequest()`](/reference/androidx/credentials/CreatePublicKeyCredentialRequest#CreatePublicKeyCredentialRequest(kotlin.String,kotlin.ByteArray,kotlin.Boolean,kotlin.String,kotlin.Boolean)) methods.\n\nThe [`origin`](https://www.w3.org/TR/webauthn-2/#dom-collectedclientdata-origin) represents the application or website that a\nrequest comes from, and is used by passkeys to protect against phishing attacks.\nAn app's servers are required to check the client data `origin` against an\nallowlist of approved apps and websites. If the server receives a request from\nan app or website from an unrecognized origin, the request should be rejected.\nThis document describes how to set the origin for such privileged calling apps,\nand how to verify such apps are allowed to make calls on behalf of other\nparties.\n\nSet the origin of the calling app\n---------------------------------\n\nTo get credentials on behalf of another relying party, the credential provider\nthat supplies the credentials must add your app to a list of privileged callers\nthat are allowed to get such access. Then, use [`setOrigin()`](/reference/android/credentials/GetCredentialRequest.Builder#setOrigin(java.lang.String)) on\n[`createCredential()`](/reference/kotlin/androidx/credentials/CredentialManager#createCredential(android.content.Context,androidx.credentials.CreateCredentialRequest)) and [`getCredential()`](/reference/kotlin/androidx/credentials/CredentialManager#getCredential(android.content.Context,androidx.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle)) requests to set the\n`origin` value.\n| **Note:** The `origin` parameter in the `createCredential()` and `getCredential()` methods is only effective in API levels 34 (Android 14) and higher.\n\nFor privileged apps such as web browsers that need to handle third party\ncredentials, Google Password Manager requires approval to handle those\ncredentials. This ensures that only trusted apps are able to access and manage\nuser credentials for external services. To be approved for handling third party\ncredentials, [complete the request form](https://docs.google.com/forms/d/e/1FAIpQLScRuk9tTg0QPfSWl9SbpbIorX8xx2FCXlmoUYftCX2MxG4qyg/viewform) to open a ticket and\nhave your request reviewed."]]