مطالعات موردی
Zoho با ادغام رمز عبور و مدیریت اعتبارنامه، سرعت ورود به سیستم را 6 برابر افزایش میدهد
مطالعه ۱۰ دقیقهای

به عنوان یک توسعهدهنده اندروید، شما دائماً به دنبال راههایی برای افزایش امنیت، بهبود تجربه کاربری و سادهسازی توسعه هستید. Zoho، یک مجموعه نرمافزاری جامع مبتنی بر ابر که بر امنیت و تجربیات یکپارچه متمرکز است، با اتخاذ کلیدهای عبور در برنامه اندروید OneAuth خود، به پیشرفتهای قابل توجهی دست یافته است.
از زمان ادغام کلیدهای عبور در سال ۲۰۲۴، زوهو به سرعت ورود به سیستم تا ۶ برابر سریعتر از روشهای قبلی و رشد ۳۱ درصدی ماهانه (MoM) در پذیرش کلیدهای عبور دست یافته است.
این مطالعه موردی، پذیرش کلیدهای عبور توسط Zoho و رابط برنامهنویسی کاربردی مدیریت اعتبار اندروید (Credential Manager API) را برای رفع مشکلات احراز هویت بررسی میکند. این مطالعه، فرآیند پیادهسازی فنی را با جزئیات شرح داده و نتایج تأثیرگذار را برجسته میکند.
غلبه بر چالشهای احراز هویت
زوهو از ترکیبی از روشهای احراز هویت برای محافظت از حسابهای کاربری استفاده میکند. این شامل Zoho OneAuth ، راهکار احراز هویت چند عاملی (MFA) خودشان نیز میشود که از احراز هویت مبتنی بر رمز عبور و بدون رمز عبور با استفاده از اعلانهای فشاری، کدهای QR و رمزهای عبور یکبار مصرف مبتنی بر زمان (TOTP) پشتیبانی میکند. زوهو همچنین از ورودهای فدرال پشتیبانی میکند و امکان احراز هویت را از طریق زبان نشانهگذاری ادعای امنیتی (SAML) و سایر ارائهدهندگان هویت شخص ثالث فراهم میکند.
چالشها
زوهو، مانند بسیاری از سازمانها، با هدف بهبود امنیت احراز هویت و تجربه کاربری و در عین حال کاهش بار عملیاتی، اقدام به پیادهسازی کلیدهای عبور کرد. چالشهای اصلی که منجر به پذیرش کلیدهای عبور شدند عبارتند از:
- آسیبپذیریهای امنیتی: روشهای سنتی مبتنی بر رمز عبور، کاربران را در معرض حملات فیشینگ و نقض رمز عبور قرار میداد.
- اصطکاک کاربر: خستگی ناشی از استفاده از رمز عبور منجر به فراموشی رمزهای عبور، ناامیدی و افزایش اتکا به فرآیندهای بازیابی دست و پا گیر شد.
- ناکارآمدیهای عملیاتی: مدیریت بازنشانی رمز عبور و مشکلات MFA سربار پشتیبانی قابل توجهی ایجاد کرد.
- نگرانیهای مقیاسپذیری: یک پایگاه کاربری رو به رشد، خواستار یک راهکار احراز هویت امنتر و کارآمدتر بود.
چرا به سمت کلیدهای عبور روی آوردهاند؟
کلیدهای عبور در برنامههای Zoho پیادهسازی شدند تا با ارائه رویکردی بدون رمز عبور که امنیت و تجربه کاربری را به میزان قابل توجهی بهبود میبخشد، چالشهای احراز هویت را برطرف کنند. این راهحل از احراز هویت مقاوم در برابر فیشینگ، اعتبارنامههای همگامسازی شده در فضای ابری برای دسترسی آسان بین دستگاههای مختلف و بیومتریکها (مانند اثر انگشت یا تشخیص چهره)، پین یا الگو برای ورود ایمن استفاده میکند و در نتیجه آسیبپذیریها و ناراحتیهای مرتبط با رمزهای عبور سنتی را کاهش میدهد.
با استفاده از کلیدهای عبور در Credential Manager، زوهو زمان ورود به سیستم را تا ۶ برابر کاهش داد، هزینههای پشتیبانی مربوط به رمز عبور را کاهش داد و شاهد استقبال قوی کاربران بود - ورود به سیستم با کلید عبور در ۴ ماه با رشد ۳۱ درصدی در ماه دو برابر شد. کاربران زوهو اکنون از ورود سریعتر و آسانتر و امنیت مقاوم در برابر فیشینگ لذت میبرند.

پیادهسازی با مدیریت اعتبارنامه در اندروید
خب، زوهو چطور به این نتایج دست یافت؟ آنها از رابط برنامهنویسی مدیریت اعتبار اندروید (Credential Manager API) استفاده کردند که کتابخانهی پیشنهادی جتپک برای پیادهسازی احراز هویت در اندروید است.
Credential Manager یک API یکپارچه ارائه میدهد که مدیریت روشهای مختلف احراز هویت را ساده میکند. به جای استفاده از APIهای مختلف برای رمزهای عبور، کلیدهای عبور و ورودهای یکپارچه (مانند ورود با گوگل)، از یک رابط واحد استفاده میکنید.
پیادهسازی کلیدهای عبور در Zoho نیازمند تنظیمات سمت کلاینت و سرور بود. در اینجا جزئیات فرآیند ایجاد کلید عبور، ورود به سیستم و پیادهسازی سمت سرور ارائه شده است.
ایجاد رمز عبور

برای ایجاد یک رمز عبور ، برنامه ابتدا جزئیات پیکربندی را از سرور Zoho بازیابی میکند. این فرآیند شامل یک تأیید منحصر به فرد، مانند اثر انگشت یا تشخیص چهره است. این دادههای تأیید، که به صورت یک رشته requestJson قالببندی شدهاند، توسط برنامه برای ساخت یک CreatePublicKeyCredentialRequest استفاده میشوند. سپس برنامه متد credentialManager.createCredential را فراخوانی میکند که کاربر را وادار میکند با استفاده از قفل صفحه دستگاه خود (بیومتریک، اثر انگشت، پین و غیره) احراز هویت کند.
پس از تأیید موفقیتآمیز کاربر، برنامه دادههای اعتبارنامه رمز عبور جدید را دریافت میکند، آن را برای تأیید به سرور Zoho ارسال میکند و سپس سرور اطلاعات رمز عبور مرتبط با حساب کاربر را ذخیره میکند. خرابیها یا لغو کاربر در طول فرآیند توسط برنامه ثبت و مدیریت میشوند.
ورود
برنامه اندروید Zoho فرآیند ورود به سیستم با کلید عبور را با درخواست گزینههای ورود، از جمله یک challenge منحصر به فرد، از سرور backend Zoho آغاز میکند. سپس برنامه از این دادهها برای ساخت GetCredentialRequest استفاده میکند که نشان میدهد با کلید عبور احراز هویت خواهد شد. سپس API مربوط به Android CredentialManager.getCredential() را با این درخواست فراخوانی میکند. این اقدام یک رابط کاربری استاندارد سیستم اندروید را فعال میکند و از کاربر میخواهد حساب Zoho خود را انتخاب کند (در صورت وجود چندین کلید عبور) و با استفاده از قفل صفحه نمایش پیکربندی شده دستگاه خود (اثر انگشت، اسکن چهره یا پین) احراز هویت کند. پس از احراز هویت موفقیتآمیز، Credential Manager یک تأیید امضا شده (اثبات ورود) را به برنامه Zoho برمیگرداند. برنامه این تأیید را به سرور Zoho ارسال میکند که امضا را با کلید عمومی ذخیره شده کاربر تأیید میکند و چالش را تأیید میکند و فرآیند ورود امن را تکمیل میکند.
پیادهسازی سمت سرور
گذار زوهو به پشتیبانی از کلیدهای عبور، از سیستمهای پشتیبان آنها که از قبل با FIDO WebAuthn سازگار بودند، سود برد که فرآیند پیادهسازی سمت سرور را سادهتر کرد. با این حال، هنوز اصلاحات خاصی برای ادغام کامل عملکرد کلید عبور لازم بود.
مهمترین چالش، تطبیق سیستم ذخیرهسازی اعتبارنامهها بود. روشهای احراز هویت موجود در Zoho که عمدتاً از رمزهای عبور و کلیدهای امنیتی FIDO برای احراز هویت چند عاملی استفاده میکردند، به رویکردهای ذخیرهسازی متفاوتی نسبت به کلیدهای عبور که مبتنی بر کلیدهای عمومی رمزنگاری هستند، نیاز داشتند. برای حل این مشکل، Zoho یک طرح پایگاه داده جدید را پیادهسازی کرد که بهطور خاص برای ذخیره ایمن کلیدهای عمومی کلید عبور و دادههای مرتبط با آن طبق پروتکلهای WebAuthn طراحی شده است. این سیستم جدید در کنار یک مکانیسم جستجو برای اعتبارسنجی و بازیابی اعتبارنامهها بر اساس اطلاعات کاربر و دستگاه ساخته شده است و سازگاری با روشهای قدیمیتر احراز هویت را تضمین میکند.
یکی دیگر از تنظیمات سمت سرور، پیادهسازی قابلیت مدیریت درخواستها از دستگاههای اندروید بود. درخواستهای رمز عبور که از برنامههای اندروید سرچشمه میگیرند، از یک قالب مبدأ منحصر به فرد ( android:apk-key-hash:example ) استفاده میکنند که با قالبهای مبدأ استاندارد وب که از قالب مبتنی بر URI ( https://example.com/app ) استفاده میکنند، متفاوت است. منطق سرور باید بهروزرسانی میشد تا این قالب را به درستی تجزیه کند، هش اثر انگشت SHA-256 گواهی امضای برنامه را استخراج کند و آن را با یک لیست از پیش ثبت شده اعتبارسنجی کند. این مرحله تأیید، تضمین میکند که درخواستهای احراز هویت واقعاً از برنامه اندروید Zoho سرچشمه میگیرند و در برابر حملات فیشینگ محافظت میکنند.
این قطعه کد نشان میدهد که چگونه سرور، قالب مبدا مخصوص اندروید را بررسی کرده و هش گواهی را اعتبارسنجی میکند:
val origin: String = clientData.getString("origin") if (origin.startsWith("android:apk-key-hash:")) { val originSplit: List<String> = origin.split(":") if (originSplit.size > 3) { val androidOriginHashDecoded: ByteArray = Base64.getDecoder().decode(originSplit[3]) if (!androidOriginHashDecoded.contentEquals(oneAuthSha256FingerPrint)) { throw IAMException(IAMErrorCode.WEBAUTH003) } } else { // Optional: Handle the case where the origin string is malformed } }
مدیریت خطا
زوهو مکانیزمهای مدیریت خطای قدرتمندی را برای مدیریت خطاهای مربوط به کاربر و توسعهدهنده پیادهسازی کرد. یک خطای رایج، CreateCredentialCancellationException ، زمانی ظاهر میشد که کاربران به صورت دستی تنظیم کلید عبور خود را لغو میکردند. زوهو فراوانی این خطا را ردیابی کرد تا بهبودهای بالقوه UX را ارزیابی کند. بر اساس توصیههای UX اندروید، زوهو اقداماتی را برای آموزش بهتر کاربران خود در مورد کلیدهای عبور، اطمینان از آگاهی کاربران از در دسترس بودن کلید عبور و ترویج استفاده از کلید عبور در تلاشهای بعدی ورود به سیستم انجام داد.
این نمونه کد، رویکرد Zoho را در مورد نحوه مدیریت رایجترین خطاهای ایجاد رمز عبور نشان میدهد:
private fun handleFailure(e: CreateCredentialException) {
val msg = when (e) {
is CreateCredentialCancellationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_CANCELLED", GROUP_NAME)
Analytics.addNonFatalException(e)
"The operation was canceled by the user."
}
is CreateCredentialInterruptedException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_INTERRUPTED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey setup was interrupted. Please try again."
}
is CreateCredentialProviderConfigurationException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_PROVIDER_MISCONFIGURED", GROUP_NAME)
Analytics.addNonFatalException(e)
"Credential provider misconfigured. Contact support."
}
is CreateCredentialUnknownException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_UNKNOWN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unknown error occurred during Passkey setup."
}
is CreatePublicKeyCredentialDomException -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_WEB_AUTHN_ERROR", GROUP_NAME)
Analytics.addNonFatalException(e)
"Passkey creation failed: ${e.domError}"
}
else -> {
Analytics.addAnalyticsEvent(eventProtocol: "PASSKEY_SETUP_FAILED", GROUP_NAME)
Analytics.addNonFatalException(e)
"An unexpected error occurred. Please try again."
}
}
}آزمایش کلیدهای عبور در محیطهای اینترانت
زوهو در ابتدا با چالشی در آزمایش کلیدهای عبور در یک محیط اینترانت بسته مواجه شد. فرآیند تأیید مدیریت رمز عبور گوگل برای کلیدهای عبور، نیاز به دسترسی به دامنه عمومی برای تأیید دامنه طرف اعتمادکننده (RP) دارد. با این حال، محیط آزمایش داخلی زوهو فاقد این دسترسی عمومی به اینترنت بود و همین امر باعث میشد فرآیند تأیید با شکست مواجه شود و آزمایش موفقیتآمیز احراز هویت کلید عبور با مشکل مواجه شود. برای غلبه بر این مشکل، زوهو یک محیط آزمایش عمومی ایجاد کرد که شامل میزبانی یک سرور موقت با یک فایل پیوند دارایی و اعتبارسنجی دامنه بود.
این مثال از فایل assetlinks.json که در محیط تست عمومی Zoho استفاده شده است، نحوه مرتبط کردن دامنه طرف مورد اعتماد با برنامه اندروید مشخص شده برای اعتبارسنجی رمز عبور را نشان میدهد.
[
{
"relation": [
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target": {
"namespace": "android_app",
"package_name": "com.zoho.accounts.oneauth",
"sha256_cert_fingerprints": [
"SHA_HEX_VALUE"
]
}
}
]با یک سرور FIDO موجود ادغام شوید
سیستم رمز عبور اندروید از استاندارد مدرن FIDO2 WebAuthn استفاده میکند. این استاندارد به درخواستهایی با فرمت خاص JSON نیاز دارد که به حفظ سازگاری بین برنامههای بومی و پلتفرمهای وب کمک میکند. برای فعال کردن پشتیبانی از رمز عبور اندروید، Zoho تغییرات جزئی در سازگاری و ساختار ایجاد کرد تا درخواستهایی را که به ساختار FIDO2 JSON مورد نیاز پایبند هستند، به درستی تولید و پردازش کند.
این بهروزرسانی سرور شامل چندین تنظیم فنی خاص بود:
۱. تبدیل کدگذاری: سرور، کدگذاری URL Base64 (که معمولاً در WebAuthn برای فیلدهایی مانند شناسههای اعتبارنامه استفاده میشود) را قبل از ذخیره دادههای مربوطه به کدگذاری استاندارد Base64 تبدیل میکند. قطعه کد زیر نشان میدهد که چگونه یک rawId ممکن است به Base64 استاندارد کدگذاری شود:
// Convert rawId bytes to a standard Base64 encoded string for storage val base64RawId: String = Base64.getEncoder().encodeToString(rawId.toByteArray())
۲. قالب فهرست انتقال: برای اطمینان از پردازش دادههای سازگار، منطق سرور فهرستهایی از مکانیسمهای انتقال (مانند USB، NFC و بلوتوث که نحوه ارتباط تأییدکننده را مشخص میکنند) را به عنوان آرایههای JSON مدیریت میکند.
۳. ترازبندی دادههای کلاینت: تیم زوهو نحوهی کدگذاری و رمزگشایی فیلد clientDataJson توسط سرور را تنظیم کرده است. این کار تضمین میکند که ساختار دادهها دقیقاً با انتظارات APIهای داخلی موجود زوهو همسو باشد. مثال زیر بخشی از منطق تبدیل اعمال شده بر دادههای کلاینت را قبل از پردازش آنها توسط سرور نشان میدهد:
private fun convertForServer(type: String): String { val clientDataBytes = BaseEncoding.base64().decode(type) val clientDataJson = JSONObject(String(clientDataBytes, StandardCharsets.UTF_8)) val clientJson = JSONObject() val challengeFromJson = clientDataJson.getString("challenge") // 'challenge' is a technical identifier/token, not localizable text. clientJson.put("challenge", BaseEncoding.base64Url() .encode(challengeFromJson.toByteArray(StandardCharsets.UTF_8))) clientJson.put("origin", clientDataJson.getString("origin")) clientJson.put("type", clientDataJson.getString("type")) clientJson.put("androidPackageName", clientDataJson.getString("androidPackageName")) return BaseEncoding.base64().encode(clientJson.toString().toByteArray()) }
تنظیمات راهنمایی و احراز هویت کاربر
بخش اصلی استراتژی رمز عبور زوهو شامل تشویق کاربران به پذیرش آن و در عین حال ایجاد انعطافپذیری برای هماهنگی با الزامات مختلف سازمانی بود. این امر از طریق طراحی دقیق رابط کاربری و کنترل سیاستها محقق شد.
زوهو تشخیص داد که سازمانها نیازهای امنیتی متفاوتی دارند. برای برآورده کردن این نیاز، زوهو موارد زیر را پیادهسازی کرد:
- اجرای مدیریت: از طریق پنل مدیریت Zoho Directory ، مدیران میتوانند کلیدهای عبور را به عنوان روش احراز هویت اجباری و پیشفرض برای کل سازمان خود تعیین کنند. وقتی این خطمشی فعال شود، کارمندان موظفند در ورود بعدی خود یک کلید عبور تنظیم کرده و از آن برای ادامه استفاده کنند.
- انتخاب کاربر: اگر سازمانی سیاست خاصی را اعمال نکند، کاربران میتوانند کنترل را در دست داشته باشند. آنها میتوانند روش احراز هویت مورد نظر خود را هنگام ورود به سیستم، از طریق کلیدهای عبور یا سایر گزینههای پیکربندی شده از طریق تنظیمات احراز هویت خود، انتخاب کنند.
برای اینکه استفاده از رمز عبور برای کاربران نهایی جذاب و ساده باشد، زوهو موارد زیر را پیادهسازی کرده است:
- راهاندازی آسان: Zoho قابلیت تنظیم رمز عبور را مستقیماً در برنامه موبایل Zoho OneAuth (که هم برای اندروید و هم برای iOS موجود است) ادغام کرده است. کاربران میتوانند به راحتی و در هر زمانی رمزهای عبور خود را در داخل برنامه پیکربندی کنند و این انتقال را روانتر سازد.
- دسترسی پایدار: پشتیبانی از رمز عبور در نقاط تماس کلیدی کاربران پیادهسازی شد و تضمین میکند که کاربران میتوانند با استفاده از رمزهای عبور از طریق موارد زیر ثبتنام و احراز هویت شوند:
- اپلیکیشن موبایل Zoho OneAuth (اندروید و iOS)؛
- صفحه حسابهای کاربری وب Zoho آنها.
این روش تضمین میکرد که فرآیند تنظیم و استفاده از کلیدهای عبور، صرف نظر از اینکه توسط مدیر اجباری شده باشد یا توسط کاربر انتخاب شده باشد، در پلتفرمهایی که از قبل استفاده میکنند، قابل دسترسی و ادغام باشد. میتوانید با بررسی راهنمای جامع تجربه کاربری کلیدهای عبور ما، در مورد نحوه ایجاد جریانهای کاربری روان برای احراز هویت با کلید عبور اطلاعات بیشتری کسب کنید.
تأثیر بر سرعت توسعه و کارایی ادغام
مدیر اعتبارنامه، به عنوان یک API یکپارچه، در مقایسه با جریانهای ورود به سیستم قدیمیتر، به بهبود بهرهوری توسعهدهندگان نیز کمک کرد. این ابزار پیچیدگی مدیریت چندین روش احراز هویت و API را به طور جداگانه کاهش داد و منجر به ادغام سریعتر، از ماهها به هفتهها، و خطاهای پیادهسازی کمتر شد. این امر در مجموع فرآیند ورود به سیستم را سادهتر کرد و قابلیت اطمینان کلی را بهبود بخشید.
با پیادهسازی کلیدهای عبور با Credential Manager، زوهو به پیشرفتهای قابل توجه و قابل اندازهگیری در همه زمینهها دست یافت:
- بهبود چشمگیر سرعت
- دو برابر سرعت ورود بیشتر در مقایسه با احراز هویت با رمز عبور سنتی.
- ورود ۴ برابر سریعتر در مقایسه با نام کاربری یا شماره تلفن همراه با احراز هویت از طریق ایمیل یا پیامک OTP.
- ورود ۶ برابر سریعتر در مقایسه با نام کاربری، رمز عبور و پیامک یا احراز هویت OTP با استفاده از احراز هویت از طریق OTP.
- کاهش هزینههای پشتیبانی
- کاهش درخواستهای پشتیبانی مربوط به رمز عبور ، به خصوص برای رمزهای عبور فراموش شده.
- هزینههای کمتر مرتبط با احراز هویت دو مرحلهای مبتنی بر پیامک، زیرا کاربران فعلی میتوانند مستقیماً با کلیدهای عبور وارد سیستم شوند.
- پذیرش قوی کاربر و امنیت افزایش یافته:
- ورود با رمز عبور تنها در ۴ ماه دو برابر شد که نشاندهندهی استقبال بالای کاربران است.
- کاربرانی که به کلیدهای عبور روی میآورند، کاملاً در برابر تهدیدات رایج فیشینگ و نقض رمز عبور محافظت میشوند.
- با رشد ۳۱ درصدی پذیرش ماهانه ، کاربران بیشتری روزانه از امنیت بهبود یافته در برابر آسیبپذیریهایی مانند فیشینگ و تعویض سیمکارت بهرهمند میشوند.
توصیهها و بهترین شیوهها
برای پیادهسازی موفقیتآمیز کلیدهای عبور در اندروید، توسعهدهندگان باید بهترین شیوههای زیر را در نظر بگیرند:
- از API مدیریت اعتبارنامه اندروید استفاده کنید:
- مدیریت اعتبارنامه، بازیابی اعتبارنامه را ساده میکند، تلاش توسعهدهنده را کاهش میدهد و یک تجربه احراز هویت یکپارچه را تضمین میکند.
- رمزهای عبور، کلیدهای عبور و جریانهای ورود یکپارچه را در یک رابط واحد مدیریت میکند.
- اطمینان از ثبات رمزگذاری دادهها هنگام مهاجرت از سایر راهحلهای احراز هویت FIDO:
- هنگام مهاجرت از سایر راهحلهای احراز هویت FIDO مانند کلیدهای امنیتی FIDO، مطمئن شوید که قالببندی ثابتی را برای همه ورودیها/خروجیها رعایت میکنید.
- بهینهسازی مدیریت خطا و ثبت وقایع:
- برای یک تجربه کاربری روان، مدیریت خطای قوی را پیادهسازی کنید.
- پیامهای خطای محلی ارائه دهید و از گزارشهای دقیق برای اشکالزدایی و حل خطاهای غیرمنتظره استفاده کنید.
- کاربران را در مورد گزینههای بازیابی رمز عبور آموزش دهید:
- با راهنمایی فعالانه کاربران در مورد گزینههای بازیابی، از سناریوهای قفل شدن سیستم جلوگیری کنید.
- نظارت بر معیارهای پذیرش و بازخورد کاربر:
- برای بهینهسازی تجربه کاربری، میزان مشارکت کاربران، نرخ پذیرش رمز عبور و نرخ موفقیت ورود به سیستم را پیگیری کنید.
- برای بهبود تبدیل و حفظ مشتری، تست A/B را روی جریانهای مختلف احراز هویت انجام دهید.
کلیدهای عبور، همراه با API مدیریت اعتبارنامه اندروید ، یک راهکار احراز هویت قدرتمند و یکپارچه ارائه میدهند که ضمن سادهسازی تجربه کاربری، امنیت را افزایش میدهد. کلیدهای عبور خطرات فیشینگ، سرقت اعتبارنامه و دسترسی غیرمجاز را به میزان قابل توجهی کاهش میدهند. ما توسعهدهندگان را تشویق میکنیم که این تجربه را در برنامه خود امتحان کنند و امنترین احراز هویت را برای کاربران خود به ارمغان بیاورند.
شروع کار با کلیدهای عبور و مدیریت اعتبارنامهها
با استفاده از نمونه کد عمومی ما، کلیدهای عبور و مدیریت اعتبارنامه را در اندروید به صورت عملی تجربه کنید.
اگر سؤال یا مشکلی دارید، میتوانید از طریق ردیاب مشکلات اعتبارنامههای اندروید با ما در میان بگذارید.
ادامه مطلب

مطالعات موردی
اوبر از رابط برنامهنویسی کاربردی (API) بازیابی اطلاعات کاربری اندروید (Android Restore Credentials API) برای سادهسازی ورود به سیستم با دستگاههای جدید استفاده کرد و پیشبینی کرد که سالانه ۴ میلیون ورود دستی را کاهش داده و نرخ حفظ کاربران را افزایش دهد.
Niharika Arora • ۵ دقیقه مطالعه

مطالعات موردی
از اخبار فوری و سرگرمی گرفته تا ورزش و سیاست، X یک برنامه رسانه اجتماعی است که هدف آن کمک به نزدیک به ۵۰۰ میلیون کاربر در سراسر جهان برای دسترسی به کل اخبار به همراه تمام تفاسیر زنده است.
Niharika Arora • ۳ دقیقه مطالعه

مطالعات موردی
مونزو یک بانک دیجیتال بریتانیایی با ۱۵ میلیون مشتری و در حال رشد است. با گسترش اپلیکیشن، تیم مهندسی زمان راهاندازی اپلیکیشن را به عنوان یک حوزه حیاتی برای بهبود شناسایی کرد، اما نگران بود که این امر نیاز به تغییرات قابل توجهی در کدبیس آنها داشته باشد.
Ben Weiss • ۲ دقیقه مطالعه
در جریان باشید
جدیدترین بینشهای توسعه اندروید را به صورت هفتگی در صندوق ورودی خود دریافت کنید.



