비밀번호 대용 Smart Lock을 Android 앱에 통합하려면 앱의 사용자 인증 정보 시작 및 로그인 흐름에 Credentials API 호출을 추가해야 합니다. 다음 다이어그램은 비밀번호 대용 Smart Lock을 사용하는 일반적인 Android 앱의 흐름을 보여줍니다.
비밀번호 대용 Smart Lock을 성공적으로 통합하는 방법에는 여러 가지가 있으며 통합의 구체적인 내용은 앱의 구조와 사용자 환경에 따라 다르지만, 대부분의 앱에는 다음 흐름을 사용하는 것이 좋습니다. 이 흐름을 사용하는 앱에는 다음과 같은 사용자 환경 이점이 있습니다.
- 단일 사용자 인증 정보가 저장된 서비스의 기존 사용자는 즉시 로그인되며 앱을 열 때 로그인한 뷰로 바로 이동합니다.
- 여러 사용자 인증 정보를 저장했거나 자동 로그인을 사용 중지한 사용자는 앱의 로그인 뷰로 이동하기 전에 하나의 대화상자에만 응답해야 합니다.
- 저장된 사용자 인증 정보가 없거나 아직 가입하지 않은 사용자는 탭 한 번으로 이름과 이메일을 선택할 수 있으며 이 정보가 미리 채워진 상태에서 로그인 또는 가입 뷰로 지능적으로 전송됩니다.
- 사용자가 로그아웃하면 앱에서 자동으로 다시 로그인되지 않도록 합니다.
사용자 인증 정보 가져오기
- 앱이 시작될 때 이미 로그인한 사용자가 없다면
CredentialsClient.request()
를 호출합니다. Task
가 성공하면getResult().getCredential()
로 사용자의 사용자 인증 정보를 가져와서 로그인합니다.Task
이 실패하고 예외가ResolvableApiException
인스턴스이고getStatusCode()
가RESOLUTION_REQUIRED
를 반환하는 경우 사용자 인증 정보를 선택하려면 사용자 입력이 필요합니다.startResolutionForResult()
를 호출하여 저장된 계정을 선택하라는 메시지를 표시한 후getParcelableExtra(Credential.EXTRA_KEY)
를 호출하여 사용자의 사용자 인증 정보를 가져오고 이 정보를 사용하여 로그인합니다.
사용자 인증 정보 저장
Task
이ApiException
로 실패하고getStatusCode()
에서SIGN_IN_REQUIRED
을 반환하면 사용자에게 저장된 사용자 인증 정보가 없으며 현재 로그인 또는 가입 흐름을 사용하여 수동으로 로그인하거나 가입해야 합니다. 사용자가 로그인을 완료하면 사용자에게 향후 검색을 위해 사용자 인증 정보를 저장할 기회를 제공할 수 있습니다 (5단계).사용자의 이메일 주소와 같은 로그인 힌트를 가져오면 사용자가 더 빠르고 쉽게 로그인하거나 가입할 수 있습니다. 사용자는 힌트를 선택하고 사용자 인증 정보 입력을 건너뛸 수 있습니다. 앱에서 사용자의 로그인이 필요한 경우 초기 사용자 인증 정보 요청이 실패한 직후 힌트를 가져오도록 선택할 수 있습니다. 그렇지 않으면 사용자가 로그인 또는 가입 과정을 시작할 때까지 기다릴 수 있습니다.
CredentialsClient.getHintPickerIntent()
를 호출하여 사용자에게 계정을 선택하라는 메시지를 표시하는 인텐트를 시작하고getParcelableExtra(Credential.EXTRA_KEY)
를 호출하여 로그인 힌트를 가져옵니다.- 힌트의 사용자 ID가 기존 사용자와 일치하는 경우 로그인 양식을 미리 채우고 사용자가 비밀번호를 입력하여 로그인하도록 합니다.
- 힌트의 사용자 ID가 기존 사용자와 일치하지 않으면 가입 양식을 사용자의 ID와 이름으로 자동 완성하여 사용자가 새 계정을 만들 수 있게 하세요.
-
사용자가 로그인하거나 계정을 만들면
CredentialsClient.save()
로 사용자 ID와 비밀번호를 저장합니다.사용자가 Google 로그인과 같은 제휴 ID 공급업체로 로그인한 경우 사용자의 이메일 주소를 ID로 사용하여
Credential
객체를 만들고setAccountType
로 ID 공급업체를 지정합니다.
로그아웃
- 사용자가 로그아웃하면
CredentialsClient.disableAutoSignIn()
를 호출하여 사용자가 즉시 다시 로그인하지 못하게 합니다. 또한 자동 로그인을 사용 중지하면 로그인 정보를 다시 입력할 필요 없이 사용자가 계정 간에 쉽게 전환할 수 있습니다(예: 직장 계정과 개인 계정 간 또는 공유 기기의 계정 간 전환 가능).
비밀번호 대용 Smart Lock을 앱에 통합할 준비가 되셨나요? 지금 시작해 보세요.