ویژگی بازیابی اعتبارنامه مدیر اعتبار به کاربران این امکان را می دهد که هنگام راه اندازی یک دستگاه جدید، حساب های برنامه خود را بازیابی کنند. این API در پیشنمایش برنامهنویس است و در همه دستگاههایی که دارای Android 9 یا بالاتر و خدمات Google Play (GMS) Core نسخه 242200000 یا بالاتر هستند در دسترس است. مزایای ویژگی Restore Credentials عبارتند از:
- تجربه کاربری یکپارچه : کاربران می توانند حساب برنامه خود را بدون نیاز به ورود دستی به هر برنامه جداگانه بازیابی کنند.
- افزایش تعامل کاربر : اگر کاربران بتوانند هنگام راهاندازی دستگاه جدید حساب خود را بازیابی کنند، احتمالاً به استفاده از برنامه شما ادامه خواهند داد.
- کاهش تلاش برای توسعه : ویژگی Restore Credentials با Credential Manager یکپارچه شده است، بنابراین توسعه دهندگانی که قبلاً از کلیدهای عبور پشتیبانی می کنند می توانند قابلیت های بازیابی اعتبار را اضافه کنند.
چگونه کار می کند
می توانید از Restore Credentials برای ایجاد، دریافت و پاک کردن اعتبارنامه های مربوطه استفاده کنید.
- ایجاد اعتبار بازیابی : هنگامی که کاربر به برنامه شما وارد می شود، یک اعتبار بازیابی مرتبط با حساب او ایجاد کنید. اگر کاربر پشتیبانگیری Google را فعال کرده باشد، این اعتبار به صورت محلی ذخیره میشود و با ابر همگامسازی میشود و رمزگذاری سرتاسر در دسترس است (برنامهها میتوانند از همگامسازی با ابر انصراف دهند)
- دریافت بازیابی اعتبار : وقتی کاربر دستگاه جدیدی را راهاندازی میکند، برنامه شما میتواند از مدیر اعتبارنامه بازیابی اعتبارنامه را درخواست کند. این به شما امکان می دهد کاربر را به طور خودکار بدون نیاز به ورودی اضافی وارد سیستم کنید.
- پاک کردن اعتبار بازیابی : وقتی کاربر از برنامه شما خارج شد، باید اعتبار بازیابی مرتبط را حذف کنید.
ویژگی Restore Credentials می تواند به راحتی با سیستم های Backend که قبلاً کلیدهای عبور را پیاده سازی کرده اند، یکپارچه شود. این سازگاری از این واقعیت ناشی می شود که هم کلیدهای عبور و هم کلیدهای بازیابی (نوع اعتبار مورد استفاده در ویژگی Restore Credentials) از مشخصات فنی زیرین یکسانی پیروی می کنند. این همترازی تضمین میکند که فرآیند بازیابی اعتبارنامهها میتواند به طور موثر اعتبار کاربری ذخیرهشده در سیستمهای دارای کلید عبور را بازیابی و بازیابی کند و تجربهای سازگار و کاربرپسند را در پلتفرمهای مختلف و روشهای احراز هویت ارائه دهد.
پیاده سازی
Restore Credentials API از طریق کتابخانه Credential Manager Jetpack در دسترس است. برای شروع، مراحل زیر را دنبال کنید:
وابستگی Credential Manager را به پروژه خود اضافه کنید.
// build.gradle.kts implementation("androidx.credentials:credentials:1.5.0-alpha03")
یک شی
CreateRestoreCredentialRequest
ایجاد کنید.متد
createCredential()
را در شیCredentialManager
فراخوانی کنید.val credentialManager = CredentialManager.create(context) // On a successful authentication create a Restore Key // Pass in the context and CreateRestoreCredentialRequest object val response = credentialManager.createCredential(context, createRestoreRequest)
این اعتبار بازیابی ایجاد شده یک نوع اعتبار webauthn است و به عنوان کلید بازیابی شناخته می شود.
هنگامی که کاربر یک دستگاه جدید را راه اندازی می کند، متد
getCredential()
را در شیCredentialManager
فراخوانی کنید.// Fetch the Authentication JSON from server val authenticationJson = ... // Create the GetRestoreCredentialRequest object val options = GetRestoreCredentialOption(authenticationJson) val getRequest = GetCredentialRequest(Immutablelist.of(options)) // The restore key can be fetched in two scenarios to // 1. On the first launch of app on the device, fetch the Restore Key // 2. In the onRestore callback (if the app implements the Backup Agent) val response = credentialManager.getCredential(context, getRequest)
هنگامی که کاربر از برنامه شما خارج شد، متد
clearCredentialState()
را در شیCredentialManager
فراخوانی کنید.// Create a ClearCredentialStateRequest object val clearRequest = ClearCredentialStateRequest(TYPE_CLEAR_RESTORE_CREDENTIAL) // On user log-out, clear the restore key val response = credentialManager.clearCredentialState(clearRequest)
اگر از یک عامل پشتیبان استفاده می کنید، قسمت getCredential
را در پاسخ به تماس onRestore
انجام دهید. این تضمین می کند که اعتبار برنامه بلافاصله پس از بازیابی اطلاعات برنامه بازیابی می شود.