Android 앱에 로그인 워크플로를 추가하면 사용자 데이터를 보호하고 앱 기능 및 데이터에 대한 액세스를 제어해 앱과 데이터, 사용자를 안전하게 보호할 수 있습니다.
사용자 데이터 보호. 인증은 앱의 사용자 데이터를 승인되지 않은 액세스로부터 보호합니다. 사용자에게 로그인을 요구하면 사용자가 자격이 있는 정보만 잠금 해제할 수 있습니다.
사기 방지. 인증을 본인 인증과 함께 사용하면 공격자가 허위 계정을 만들거나 기존 계정에 무단으로 액세스하기가 더 어려워집니다.
사용자 환경 개선. 간소화된 인증 워크플로는 사용자가 데이터와 서비스에 액세스하기 위해 가입하고 로그인하는 과정의 복잡성을 줄여줍니다.
규정 준수. 로그인 워크플로는 데이터 보호를 위해 인증이 필요한 규정을 준수합니다.
인증
앱에 인증을 추가하려면 대부분의 Android 프로젝트는 인증 관리자를 사용해야 합니다. 인증 관리자는 패스키, 비밀번호, 제휴 솔루션(예: Google 계정으로 로그인) 등 대부분의 주요 인증 방법을 앱에 통합할 수 있는 최신 Jetpack 라이브러리입니다. 원탭과 같은 기존 인증 API에 비해 인증 관리자의 이점은 다음과 같습니다.
간소화된 통합: 인증 관리자를 사용하면 통합된 단일 API로 대부분의 주요 인증 옵션을 구현할 수 있습니다.
사용자 환경 개선: 인증 관리자의 통합 로그인 인터페이스는 사용자에게 명확하고 친숙하며 일관된 환경을 제공하고 앱 제거를 줄이며 등록 및 로그인 속도를 개선합니다.
한 번 탭하여 Google 로그인 및 가입: 인증 관리자는 앱의 콘텐츠와 일치하는 대화상자를 통해 사용자에게 Google 계정을 만들거나 로그인하라는 메시지를 표시하도록 구성할 수 있습니다. 따라서 가입 화면으로 인해 사용자가 컨텍스트에서 벗어나지 않습니다. 가입 또는 로그인 문제가 줄면 사용자가 앱에 등록하거나 로그인할 때 성공률이 향상됩니다.
보안 강화: 비밀번호에서 비밀번호가 없는 인증으로 이전하면 공격 벡터가 줄고 사용자 온보딩이 간소화되며 앱의 보안이 강화될 수 있습니다. 인증 관리자는 패스키를 사용한 비밀번호 없는 인증을 지원합니다.
유연성 향상: 인증 관리자는 기존 인증 제공업체와 통합되며 개발자가 직접 인증 프로세스를 개발할 수 있습니다.
비밀번호 관리자와 같은 일부 앱은 사용자가 제공한 데이터로 다른 앱의 뷰를 채웁니다. 다른 앱의 뷰를 채우는 앱을 자동 완성 서비스라고 합니다. 자동 완성 프레임워크는 앱과 자동 완성 서비스 간의 통신을 관리하며, 필드를 채우는 데 소요되는 시간을 절약하고 사용자 입력 오류를 최소화하여 사용자 환경을 개선합니다. 자동 완성은 비밀번호 관리자를 지원하므로 사용자는 패스키 또는 고유한 머신 생성 비밀번호와 같이 안전하게 저장하고 검색할 수 있으며 문제가 적은 더 강력한 사용자 인증 정보를 선택하는 것이 좋습니다.
앱에 생체 인식 인증을 통합하여 보안을 더욱 강화합니다.
특히 다중 인증(MFA) 스키마의 일부인 생체 인식 인증은 사용자 인증 정보가 진짜이고 의도한 사용자의 소유임을 확인할 수 있도록 보장하여 사기 위험을 줄입니다. 생체 인식 인증은 다음과 같은 방식으로 사용자 환경을 개선할 수 있습니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2024-01-02(UTC)
[null,null,["최종 업데이트: 2024-01-02(UTC)"],[],[],null,["# Add a sign-in workflow to your Android app to protect user data and control\naccess to app features and data, helping to keep your app, your data, and your\nusers safe.\n\n- **Protect user data**. Authentication protects your app's user data from unauthorized access. By requiring users to sign in, you can help ensure your users unlock only the information they're entitled to.\n- **Help prevent fraud**. Authentication coupled with identity verification makes it more difficult for an attacker to create fraudulent accounts or gain unauthorized access to existing accounts.\n- **Improve user experience**. A streamlined authentication workflow reduces complexity for your users to sign up and sign in to access their data and services.\n- **Comply with regulations**. A sign-in workflow complies with regulations that require authentication to protect data.\n\nAuthentication\n--------------\n\nTo add authentication to your app, most Android projects should use [Credential\nManager](/training/sign-in/passkeys). Credential Manager is a modern Jetpack library that lets you\nintegrate most major authentication methods into your app, including passkeys,\npasswords, and federated solutions like Sign in with Google. The benefits of\nCredential Manager over legacy authentication APIs such as One Tap include:\n\n- **Simpler integration**: Credential Manager lets you implement most major authentication options with a single, unified API.\n- **Improved user experience**: Credential Manager's unified sign-in interface gives your users a clear, familiar, and consistent experience, reduces churn, and improves registration and sign-in speeds.\n- **Single-tap Google sign in and sign up**: Credential Manager can be configured to prompt your users to create or sign in to a Google Account with a dialog that's inline with your app's content, so they're never taken out of context by a sign-up screen. Reduced sign-up or login friction improves success rates for your users as they register or log into your app.\n- **Enhanced security** : Migrating from passwords to passwordless authentication helps reduce attack vectors, simplifies user onboarding, and enhances your app's security. Credential Manager enables support for passwordless authentication using [passkeys](/design/ui/mobile/guides/patterns/passkeys).\n- **Improved flexibility**: Credential Manager integrates with existing authentication providers, or you can develop your own authentication process.\n\nCredential Manager automatically displays a unified bottom sheet for modern\nauthentication methods, and is the modern replacement for existing\nauthentication implementations, including [Smart Lock for Passwords on\nAndroid](/training/sign-in/smart-lock-migration), and [One Tap](https://developers.google.com/identity/one-tap/android/overview).\n\n\u003cbr /\u003e\n\n| \u003cbr /\u003e\n|\n| **Note:** Sign in with Google can be called as an option in the following\n| ways:\n|\n| 1. As a Credential Manager bottom sheet that automatically appears when the sign-in screen loads,\n| 2. As a distinct button that is selected by users on your sign-in screen should they actively choose to Sign in with Google.\n|\n| Don't call the Credential Manager\n| bottom sheet from the Sign in with Google button. Read\n| [Integrate Credential Manager with Sign in with Google](/training/sign-in/credential-manager) to learn more.\n|\n| \u003cbr /\u003e\n|\n\u003cbr /\u003e\n\nLearn more about how to build authentication in your Android app with Credential\nManager:\n\n- [Sign in your user with Credential Manager](/training/sign-in/passkeys)\n- [User authentication with passkeys user experience guide](/design/ui/mobile/guides/patterns/passkeys)\n- [Integrate Credential Manager with Sign in with Google](/training/sign-in/credential-manager)\n- [Integrate Credential Manager with WebView](/training/sign-in/credential-manager-webview)\n- [Passkeys on Android learning pathway](/courses/pathways/passkeys)\n\nLearn how to migrate your current authentication flows to Credential Manager:\n\n- [Upgrade from legacy Sign in with Google button flows](/training/sign-in/credential-manager#siwg-button)\n- [Migrate from Smart Lock for Passwords to Credential Manager](/training/sign-in/smart-lock-migration)\n- [Migrate from FIDO2 to Credential Manager](/training/sign-in/fido2-migration)\n\nLearn how to streamline your existing identity and authentication APIs to\nsupport passkeys and improved usability with the Credential Manager API:\n\n- [Integrate Credential Manager with your credential provider solution](/training/sign-in/credential-provider)\n- [Make Credential Manager calls on behalf of other parties for privileged\n apps](/training/sign-in/privileged-apps)\n\nAutofill\n--------\n\nSome apps, such as password managers, fill out the views in other apps with\ndata provided by the user. Apps that fill out other apps' views are called\nautofill services. The autofill framework manages the communication between an\napp and an autofill service and helps improve the user experience by saving\ntime spent filling in fields and minimizing user input errors. Since autofill\nsupports password managers, users can be encouraged to select stronger\ncredentials such as passkeys or unique, machine-generated passwords that can be\nstored and retrieved securely and with less friction.\n\nLearn more about Android's autofill framework:\n\n- [About autofill](/guide/topics/text/autofill)\n- [Optimize your app for autofill](/guide/topics/text/autofill-optimize)\n- [Build autofill services](/guide/topics/text/autofill-services)\n- [Integrate autofill with keyboards](/guide/topics/text/ime-autofill)\n\nBiometrics\n----------\n\nIntegrate biometric authentication into your app to further strengthen security.\nBiometric authentication, especially as part of multi-factor authentication\nschemes, reduces fraud exposure by ensuring the credential is authentic and\nverifiably belongs to the intended user. Biometric authentication can improve\nthe user experience in the following ways:\n\n- Enables faster logins\n- Provides opportunities for reduced-friction credential verification\n- Reduces password usage\n- Potentially aids with regulatory compliance.\n\nLearn more about [how to implement biometric authentication](/training/sign-in/biometric-auth)."]]