احراز هویت در میان عوامل فرم

مدیریت اعتبارنامه (Credential Manager) احراز هویت را در کل اکوسیستم اندروید ساده می‌کند. این ابزار یک تجربه سازگار برای کاربران و یک سطح API یکپارچه برای توسعه‌دهندگان فراهم می‌کند تا از کلیدهای عبور، رمزهای عبور و مکانیسم‌های ورود به سیستم فدرال مانند ورود با گوگل استفاده کنند. در حالی که رابط برنامه‌نویسی اصلی در بین فرم‌فاکتورها ثابت می‌ماند، هر فرم‌فاکتور ملاحظات UI و UX منحصر به فردی دارد. پیاده‌سازی موفقیت‌آمیز مستلزم تطبیق جریان‌های احراز هویت برنامه شما با روش‌های ورودی خاص، اندازه صفحه نمایش و زمینه‌های کاربر هر دستگاه است.

این راهنما، مروری کلی بر نحوه پیاده‌سازی Credential Manager در فرم‌فاکتورهای مختلف اندروید ارائه می‌دهد، ملاحظات کلیدی را برجسته می‌کند و به مستندات دقیق‌تر پیوند می‌دهد.

دستگاه‌های تلفن همراه

دستگاه‌های تلفن همراه، شامل تلفن‌ها، تبلت‌ها و دستگاه‌های تاشو، رایج‌ترین هدف برای توسعه اندروید هستند. پیاده‌سازی استاندارد Credential Manager برای این دستگاه‌ها که معمولاً دارای صفحه نمایش لمسی و صفحه کلید روی دستگاه هستند، بسیار مناسب است. تجربه کاربری در این فرم فاکتور به عنوان مبنایی برای تطبیق با سایر موارد عمل می‌کند. جریان‌های احراز هویت باید با فرم فاکتور سازگار باشند و از تمام قابلیت‌های صفحه نمایش دستگاه و روش‌های ورودی استفاده کنند.

سیستم عامل Wear

دستگاه‌های Wear OS با صفحه نمایش‌های کوچک و ورودی محدود روی دستگاه مشخص می‌شوند. پیاده‌سازی کلیدهای عبور در Credential Manager محیطی امن را برای ورود کاربران به برنامه‌ها فراهم می‌کند، بدون نیاز به تلفن جفت‌شده متصل و بدون نیاز به به خاطر سپردن رمز عبور.

رابط برنامه‌نویسی کاربردی (API) برای Wear OS کاملاً مشابه نسخه موبایل است، بنابراین می‌توانید از یکپارچه‌سازی موجود در موبایل دوباره استفاده کنید. علاوه بر کلیدهای عبور، ورود با گوگل و رمزهای عبور با Credential Manager، می‌توانید از روش‌های احراز هویت دیگری از جمله Data Layer Token Sharing، OAuth یا راه‌حل‌های موجود خود استفاده کنید. این روش‌ها می‌توانند به عنوان پشتیبان در حین انتقال کاربران به Credential Manager یا در مورد Data Layer Token Sharing، به عنوان یک راه‌حل بلندمدت استفاده شوند.

استفاده از Credential Manager برای Wear OS نیازمندی‌های زیر را دارد:

  • حداقل سطح API: minSdkVersion 33 یا بالاتر
    • شامل پشتیبانی از رمزهای عبور، کلیدهای عبور و ورود با گوگل
  • نسخه GMS: همان نسخه مورد نیاز برای برنامه‌های تلفن همراه

رابط کاربری در دستگاه‌های Wear OS به شرح زیر است:

صفحه ورود با رمز عبور به عنوان روش احراز هویت ترجیحی در Wear OS نشان داده شده است.
شکل 1a. کلیدهای عبور.
گزینه‌های رمز عبور، گذرواژه‌ها و ورود با گوگل برای کاربر در Wear OS در دسترس است.
شکل ۱ب. رمزهای عبور، گذرواژه‌ها و ورود با گوگل.

برای راهنمایی دقیق در مورد پیاده‌سازی و نمونه‌های کد، به منابع زیر مراجعه کنید:

محدودیت‌ها

استفاده از Credential Manager در Wear OS محدودیت‌های زیر را دارد:

اندروید XR

با اندروید XR (که شامل واقعیت مجازی و افزوده است)، برنامه‌ها در فضای سه‌بعدی رندر می‌شوند. ورودی کاربر اساساً با ورودی‌های موجود در سایر فرم‌فاکتورها متفاوت است و به ورودی‌های طبیعی مانند حرکات دست متکی است.

تطبیق مدیریت اعتبارنامه برای واقعیت افزوده (XR) به معنای بازنگری در رابط کاربری احراز هویت (چه با کلیدهای عبور، رمزهای عبور یا روش‌های ورود به سیستم فدرال) برای یک فضای سه‌بعدی است. به عنوان مثال، پیام‌های احراز هویت در پنل‌های شناور ظاهر می‌شوند و کاربران با استفاده از حرکات دست انتخاب می‌کنند. همچنین باید پیش‌نیازهای سخت‌افزاری یا نرم‌افزاری خاصی را برای دستگاه‌های XR هدف خود در نظر بگیرید.

یک چالش حیاتی در طراحی، ایجاد یک تجربه احراز هویت بصری و امن در محیط واقعیت مجازی (VR) یا واقعیت افزوده (AR) است. همچنین باید نحوه مدیریت هویت در سناریوهای واقعیت مجازی (XR) چند کاربره را در نظر بگیرید، جایی که افراد مختلف ممکن است از یک دستگاه استفاده کنند.

استفاده از Credential Manager برای اندروید XR نیازمندی‌های زیر را دارد:

  • حداقل سطح API: minSdkVersion 34 یا بالاتر
  • نسخه GMS: همان نسخه مورد نیاز برای برنامه‌های تلفن همراه
  • شبیه‌ساز:
    • حداقل تصویر سیستم شبیه ساز:
      • macOS: نسخه ۷ ایمیج سیستم گوگل پلی XR ARM 64 v8a
      • ویندوز: گوگل پلی XR اینتل x86_64 اتم سیستم ایمیج نسخه ۷
    • نسخه‌های شبیه‌ساز بالاتر از ۳۵.۶.۱۱ پایدار

یک تجربه ورود به سیستم در XR ممکن است چیزی شبیه به موارد زیر باشد:

اعلان ورود به سیستم مدیریت اعتبارنامه در یک پنل سه‌بعدی شناور در اندروید XR نمایش داده می‌شود.
شکل ۲. رابط کاربری مدیریت اعتبارنامه در XR.

جریان‌هایی که توسط XR پشتیبانی نمی‌شوند

مدیریت اعتبارنامه در اندروید XR از جریان‌های احراز هویتی که نیاز به اسکن کد QR توسط دستگاه دیگری دارند، پشتیبانی نمی‌کند. این موضوع در فرآیندهای ورود به سیستم در هدست‌های XR و هنگام آزمایش با شبیه‌ساز قابل مشاهده است.

برای کسب اطلاعات بیشتر در مورد XR، به Android XR مراجعه کنید.

تلویزیون اندروید

دستگاه‌های اندروید تی‌وی معمولاً عمومی هستند، از فاصله دور دیده می‌شوند و با استفاده از کنترل‌های D-pad هدایت می‌شوند. وارد کردن نام کاربری و رمز عبور در این محیط می‌تواند برای کاربران دشوار باشد. Credential Manager با پشتیبانی از ورود با گوگل، رمزهای عبور ذخیره شده و کلیدهای عبور بین دستگاهی، احراز هویت در اندروید تی‌وی را ساده می‌کند.

اعلان ورود به سیستم Credential Manager در اندروید تی‌وی، حساب‌های ذخیره‌شده برای ورود با گوگل و رمزهای عبور را به همراه گزینه‌ای برای استفاده از کلید عبور نمایش می‌دهد.
شکل ۳. رابط کاربری مدیریت اعتبارنامه در تلویزیون اندروید که گزینه‌های ورود با گوگل، رمزهای عبور ذخیره شده و کلید عبور را نشان می‌دهد.

از آنجا که تلویزیون‌ها دستگاه‌های اشتراکی هستند و فاکتور دانش قفل صفحه (LSKF) ندارند، کلیدهای عبور مستقیماً در تلویزیون ایجاد یا ذخیره نمی‌شوند. در عوض، احراز هویت با کلید عبور از یک جریان ترکیبی بین دستگاهی استفاده می‌کند: تلویزیون یک کد QR را نمایش می‌دهد که کاربر آن را با دستگاه تلفن همراه خود اسکن می‌کند تا احراز هویت بیومتریک تکمیل شود.

استفاده از Credential Manager برای Android TV نیازمندی‌های زیر را دارد:

  • حداقل سطح API: اندروید ۱۴ (سطح API ۳۴، minSdkVersion ۳۴) یا بالاتر
  • نسخه GMS: 2026W30 یا بالاتر
  • سخت‌افزار برای کلیدهای عبور: برای اسکن کد QR و تکمیل جریان ترکیبی FIDO، به یک دستگاه تلفن همراه ثانویه مجهز به دوربین و بلوتوث نیاز است.

محدودیت‌ها

از آنجا که اندروید تی‌وی یک دستگاه اشتراکی است، استفاده از Credential Manager در این پلتفرم محدودیت‌های عمدی زیر را برای محافظت از حریم خصوصی و امنیت کاربر دارد:

  • عدم ایجاد یا ذخیره کلید عبور محلی: کلیدهای عبور را نمی‌توان مستقیماً در تلویزیون ایجاد یا ذخیره کرد. از آنجا که اعتبارنامه‌های محلی پشتیبانی نمی‌شوند، در درخواست‌های خود مقدار preferImmediatelyAvailableCredentials را روی true تنظیم نکنید. با این کار، کلیدهای عبور بین دستگاهی فیلتر می‌شوند و اعتبارنامه‌ها بازگردانده نمی‌شوند.
  • عدم ارائه دهندگان اعتبارنامه شخص ثالث: اندروید تی‌وی از تکمیل خودکار پشتیبانی نمی‌کند، بنابراین مدیران رمز عبور شخص ثالث در این پلتفرم در دسترس نیستند. کاربران باید از مدیر رمز عبور گوگل استفاده کنند.
  • عدم بازیابی اطلاعات کاربری: ورود خودکار به دستگاه‌های جدید با استفاده از «درباره بازیابی اطلاعات کاربری» در Android TV پشتیبانی نمی‌شود.

برای کسب اطلاعات بیشتر در مورد توسعه تلویزیون، به نمای کلی تلویزیون اندروید مراجعه کنید.

سیستم عامل اندروید مخصوص خودرو

دستگاه‌های دارای سیستم عامل اندروید خودرو (AAOS) سیستم‌های اشتراکی هستند که در خودروها ادغام شده‌اند. تطبیق مدیریت اعتبارنامه برای AAOS نیازمند پشتیبانی از احراز هویت امن (معمولاً در حالی که وسیله نقلیه پارک شده است) و تطبیق چندین پروفایل کاربری در یک دستگاه مشترک است.

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

احراز هویت در سیستم عامل اندروید اتوموبیل از روش‌های زیر پشتیبانی می‌کند:

  • کلیدهای عبور (جریان ترکیبی بین دستگاهی): کاربران می‌توانند از طریق یک جریان بین دستگاهی با کلیدهای عبور موجود احراز هویت کنند. سیستم یک کد QR را روی صفحه نمایش خودرو نمایش می‌دهد که کاربر آن را با دستگاه تلفن همراه خود اسکن می‌کند. از آنجا که تأیید بیومتریک و قفل صفحه نمایش روی تلفن کاربر انجام می‌شود، کاربران نیازی به پیکربندی قفل صفحه نمایش روی صفحه نمایش خودرو ندارند.
  • ورود با گوگل: صفحه ورود با گوگل را مستقیماً روی نمایشگر خودرو نمایش می‌دهد.
  • رمزهای عبور ذخیره شده: کاربران می‌توانند رمزهای عبور ذخیره شده را از مدیریت رمز عبور گوگل بازیابی کنند تا بدون وارد کردن دستی اطلاعات کاربری روی صفحه نمایش خودرو، وارد سیستم شوند.
درخواست رمز عبور Credential Manager روی صفحه نمایش داخل خودرو در سیستم عامل اندروید اتوموتیو نمایش داده می‌شود.
شکل ۵. درخواست رمز عبور Credential Manager در سیستم عامل اندروید اتوموبیل.

سیستم عامل اندروید اتوموتیو، جلسات و اعتبارنامه‌ها را به ازای هر پروفایل مدیریت می‌کند و داده‌های جلسه مختص کاربر را بین پروفایل‌ها (مثلاً پروفایل A، پروفایل B یا پروفایل مهمان) جدا می‌کند.

استفاده از Credential Manager برای سیستم عامل اندروید اتوموبیل نیازمندی‌های زیر را دارد:

  • حداقل سطح API: اندروید ۹ (سطح API ۲۸، minSdkVersion ۲۸) یا بالاتر. بازیابی رمز عبور بین دستگاه‌ها به اندروید ۱۴ (سطح API ۳۴) یا بالاتر نیاز دارد.
  • نسخه GMS: همان نسخه مورد نیاز برای برنامه‌های تلفن همراه.

محدودیت‌های آزمایش

آزمایش کلیدهای عبور به یک دستگاه فیزیکی که سیستم عامل Android Automotive OS را به عنوان سطح اصلی اجرا می‌کند، نیاز دارد. برای دستورالعمل‌های راه‌اندازی، به بخش «آزمایش با استفاده از سیستم عامل Android Automotive OS روی تبلت Pixel» مراجعه کنید. شبیه‌سازها را نمی‌توان برای آزمایش کلید عبور استفاده کرد زیرا از بلوتوث کم‌مصرف (BLE) پشتیبانی نمی‌کنند، که برای جریان ترکیبی FIDO مورد نیاز است.

محدودیت‌ها و جریان‌های پشتیبانی نشده

استفاده از Credential Manager در سیستم عامل اندروید اتوموبیل محدودیت‌های زیر را دارد:

  • عدم ذخیره یا بازیابی کلید عبور محلی: بازیابی مستقیم کلید عبور محلی پشتیبانی نمی‌شود زیرا وسایل نقلیه دستگاه‌های اشتراکی هستند. همگام‌سازی مستقیم کلیدهای عبور با وسیله نقلیه یک خطر امنیتی ایجاد می‌کند، بنابراین کلیدهای عبور باید از طریق جریان ترکیبی بین دستگاهی استفاده شوند.
  • اعتبارنامه‌های موجود فوری پشتیبانی نمی‌شوند: اگر برنامه شما درخواست رمز عبور کند و preferImmediatelyAvailableCredentials را روی true تنظیم کند، رابط کاربری خودرو بلافاصله خاتمه می‌یابد و خطای NoCredentialException رخ می‌دهد. یک UX جایگزین مناسب برای این سناریو ارائه دهید.
  • عدم ارائه‌دهندگان اعتبارنامه شخص ثالث: مدیران رمز عبور شخص ثالث در سیستم عامل اندروید اتوموتیو پشتیبانی نمی‌شوند. کاربران برای احراز هویت باید از مدیر رمز عبور گوگل یا جریان‌های ترکیبی بین دستگاهی استفاده کنند.
  • عدم ایجاد رمز عبور ذخیره شده: این API از ایجاد و ذخیره رمز عبور جدید ذخیره شده مستقیماً از رابط کاربری خودرو پشتیبانی نمی‌کند. ایجاد اعتبارنامه محدود به کلیدهای عبور جدید با استفاده از جریان ترکیبی FIDO است.

برای کسب اطلاعات بیشتر در مورد توسعه سیستم عامل خودرو، به بررسی اجمالی سیستم عامل خودرو اندروید مراجعه کنید.

منابع اضافی