Kimlik Bilgilerini Kaydetme ile şifreleri kaydetme

Geri gelen kullanıcılar için One Tap ile oturum açmayı etkinleştirmek üzere kullanıcılardan kayıt yapmalarını isteyebilirsiniz şifresini Google ile paylaşmalarını isteyin. Kullanıcı, kayıtlı hesabıyla oturum açabilir şifreler.

Şifreyi kaydetme akışını başlattığınızda, kullanıcıya bir şifre şifrelerini kaydetmek isteyip istemediklerini seçmelerine olanak tanıyan alt sayfa iletişim kutusu ve verileri hangi Google hesabına kaydetmek istediklerini görebilirsiniz.

Şifre ekran görüntüsünü kaydet

Şifre kaydetme alt sayfası iletişim kutusunu başlat

Şifre kaydetme iletişim kutusunu, kullanıcı adınızı ve şifrenizi girin. Bu sırada kimlik bilgilerini bellekte tutun kimlik doğrulama. Kimlik bilgilerinin geçerli olduğunu onayladıktan sonra aşağıdakileri yaparak iletişim kutusunu kaydedin:

  1. Yeni bir SignInPassword nesnesi oluşturun. Kullanıcıyla birlikte başlatılması gerekir. hizmetinizle kullandıkları kimlik (ör. kullanıcı adı veya e-posta adresi) ve şifreyi girin.

    private static final int REQUEST_CODE_GIS_SAVE_PASSWORD = 2; /* unique request id */
    private void savePassword() {
        SignInPassword signInPassword = new SignInPassword(userId, password);
        ...
    
  2. SavePasswordRequest nesnesi oluşturun

    SavePasswordRequest savePasswordRequest =
        SavePasswordRequest.builder().setSignInPassword(signInPassword).build();
    
  3. Şifre kaydetme iletişim kutusunu görüntülemek için bir PendingIntent alın Identity.getCredentialSavingClient ve akışı başlatın:

    Identity.getCredentialSavingClient(activity)
       .savePassword(savePasswordRequest)
       .addOnSuccessListener(
           result -> {
               startIntentSenderForResult(
                   result.getPendingIntent().getIntentSender(),
                   REQUEST_CODE_GIS_SAVE_PASSWORD,
                   /* fillInIntent= */ null,
                   /* flagsMask= */ 0,
                   /* flagsValue= */ 0,
                   /* extraFlags= */ 0,
                   /* options= */ null);
           })
    

Şifre kaydetme sonuçlarını işleme

Şifre kaydetme akışının sonucunu onActivityResult'da ele alın:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_GIS_SAVE_PASSWORD) {
        if (resultCode == Activity.RESULT_OK) {
            /* password was saved */
        } else if (resultCode == Activity.RESULT_CANCELED) {
            /* password saving was cancelled */
        }
    }
}
private ActivityResultLauncher<IntentSenderRequest> savePasswordHandler =
    registerForActivityResult(new ActivityResultContracts.StartIntentSenderForResult(), result -> {
        // handle intent result here
    });