رمزهای عبور را با ذخیره اعتبار ذخیره کنید

برای فعال کردن ورود به سیستم One Tap برای کاربران بازگشتی، می‌توانید از کاربران بخواهید رمز عبور خود را در Google ذخیره کنند. کاربر می تواند با گذرواژه های ذخیره شده خود در برنامه شما و در وب وارد سیستم شود.

وقتی جریان ذخیره رمز عبور را شروع می‌کنید، یک صفحه گفتگوی صفحه پایین به کاربر نمایش داده می‌شود که به او اجازه می‌دهد انتخاب کند که آیا می‌خواهد رمز عبور خود را ذخیره کند و در کدام حساب Google می‌خواهد آن را ذخیره کند.

اسکرین شات رمز عبور را ذخیره کنید

گفتگوی صفحه پایین ذخیره رمز عبور را راه اندازی کنید

پس از احراز هویت نام کاربری و رمز عبور با باطن خود، باید گفتگوی ذخیره رمز عبور را راه اندازی کنید. هنگام احراز هویت، اعتبارنامه ها را در حافظه نگه دارید. پس از تایید اعتبار مدارک، کادر گفتگوی ذخیره را با انجام کارهای زیر راه اندازی کنید:

  1. یک شی SignInPassword جدید ایجاد کنید. باید با شناسه کاربری که با سرویس شما استفاده می کنند (به عنوان مثال نام کاربری یا آدرس ایمیل آنها) و رمز عبوری که می خواهید ذخیره کنید، مقداردهی اولیه شود.

    private static final int REQUEST_CODE_GIS_SAVE_PASSWORD = 2; /* unique request id */
    private void savePassword() {
        SignInPassword signInPassword = new SignInPassword(userId, password);
        ...
    
  2. یک شی SavePasswordRequest ایجاد کنید

    SavePasswordRequest savePasswordRequest =
        SavePasswordRequest.builder().setSignInPassword(signInPassword).build();
    
  3. یک PendingIntent برای نمایش گفتگوی ذخیره رمز عبور از Identity.getCredentialSavingClient دریافت کنید و جریان را راه اندازی کنید:

    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);
           })
    

نتایج ذخیره رمز عبور را مدیریت کنید

نتیجه جریان ذخیره رمز عبور را در onActivityResult مدیریت کنید:

@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
    });