با فعال کردن اشتراک گذاری اعتبار بین پلتفرمی بدون درز در برنامه ها و وب سایت های خود، راحتی کاربر را به حداکثر برسانید. هنگامی که چندین وبسایت و برنامه اندرویدی یک پشتیبان مدیریت حساب را به اشتراک میگذارند، این ویژگی به کاربران امکان میدهد یک بار اعتبارنامهها را ذخیره کنند و بهطور خودکار در هر وبسایت یا برنامه Android پیوندی پیشنهاد شوند.
بهترین شیوه ها
برای تجربه و امنیت بهینه کاربر، اشتراکگذاری یکپارچه اعتبارنامه را در این نقاط تماس اجرا کنید:
- فرم ورود به سیستم : پر کردن خودکار اعتبارنامه را فعال کنید.
- فرم ثبت نام : اعتبارنامه های جدید را به صورت ایمن برای استفاده در پلتفرم ها ذخیره کنید.
- فرم تغییر رمز عبور : به روز رسانی رمز عبور را در همه سیستم عامل ها همگام سازی کنید.
- فرم بازنشانی رمز عبور : به بازنشانی رمز عبور تکی برای بهروزرسانی همه پلتفرمها اجازه دهید.
- دامنههای مشاهده وب : اشتراکگذاری اعتبار را به دامنههای مشاهده وب در برنامه خود که مدیریت حساب را مدیریت میکنند (ورود به میزبان، ثبتنام، تغییر رمز عبور یا فرمهای بازنشانی رمز عبور) گسترش دهید.
- برنامه های اندروید
این رویکرد یک سیستم مدیریت اعتبار یکپارچه ایجاد می کند و راحتی و امنیت کاربر را افزایش می دهد.
هنگام طراحی وب سایت های مدیریت حساب خود، به شما پیشنهاد می کنیم بهترین روش ها را برای سایت های مدیریت حساب دنبال کنید:
- فرم ثبت نام خود را مطابق با بهترین شیوه ها طراحی کنید
- فرم ورود به سیستم خود را مطابق با بهترین شیوه ها طراحی کنید
- یک URL معروف برای تغییر رمز عبور اضافه کنید
هنگام طراحی برنامه های Android خود، توصیه می کنیم برنامه خود را با Android Credential Manager ادغام کنید .
پیش نیازها
قبل از راهاندازی اشتراکگذاری یکپارچه اعتبارنامه، مطمئن شوید که برای هر پلتفرم موارد زیر را دارید:
برای هر برنامه اندروید:
- شناسه برنامه Android همانطور که در فایل
build.gradle
برنامه اعلام شده است. - اثر انگشت SHA256 گواهی امضا.
- (توصیه می شود) ورود به سیستم کاربر با Credential Manager API اجرا شده است.
برای هر وب سایت:
- امکان انتشار فایل
/.well-known/assetlinks.json
در هر دامنه مربوطه، به دنبال نحو پیوند دارایی دیجیتال (DALs) . - همه دامنه های مدیریت حساب (ورود به سیستم، ثبت نام، تغییر رمز عبور یا فرم های بازنشانی رمز عبور) باید از طریق HTTPS قابل دسترسی باشند.
اشتراکگذاری یکپارچه اعتبارنامه را در برنامهها و وبسایتهای Android فعال کنید
برای پیکربندی اشتراکگذاری بیوقفه اعتبارنامه در بین برنامهها و وبسایتها، فهرستهای بیانیه پیوندهای دارایی دیجیتال را ایجاد و منتشر میکنید که اعلام میکند کدام نهادها (وبسایتها یا برنامههای Android) مجاز به اشتراکگذاری اعتبارنامه هستند.
برای اعلام رابطه اشتراک اعتبار:
یک فایل
assetlinks.json
با عباراتی که به وبسایت و برنامه Android پیوند مییابند، به دنبال نحو فهرست دستورات DAL ایجاد کنید:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
جایی که
URL
آدرس سایت شما است،APP_ID
شناسه برنامه Android شما است وSHA_HEX_VALUE
اثر انگشت SHA256 گواهی امضای برنامه Android شما است.فیلد
relation
رابطه ای را که اعلام می شود توصیف می کند. برای اعلام اینکه برنامهها و سایتها اعتبارنامه ورود به سیستم را به اشتراک میگذارند، روابط را بهعنوانdelegate_permission/common.get_login_creds
مشخص کنید. درباره رشته های رابطه در DAL بیشتر بیاموزید.فیلد
target
یک شی است که دارایی را مشخص می کند که اظهارنامه برای آن اعمال می شود.فیلدهای زیر یک وب سایت را مشخص می کند:
namespace
web
site
آدرس وب سایت، با فرمت
https://domain[:optional_port
]; به عنوان مثال، https://www.example.com.domain
باید کاملاً واجد شرایط باشد، وoptional_port
باید هنگام استفاده از پورت 443 برای HTTPS حذف شود.هدف
site
فقط می تواند یک دامنه ریشه باشد: شما نمی توانید یک انجمن برنامه را به یک زیر شاخه خاص محدود کنید. مسیری را در URL وارد نکنید، مانند یک اسلش انتهایی.دامنههای فرعی مطابقت ندارند: یعنی اگر
domain
به عنوان www.example.com مشخص کنید، دامنه www.counter.example.com با برنامه شما مرتبط نیست.فیلدهای زیر یک برنامه اندروید را مشخص می کند:
فضای نام
android_app
بسته_نام
نام بسته اعلام شده در مانیفست برنامه. برای مثال com.example.android
sha256_cert_prints
اثر انگشت SHA256 گواهی امضای برنامه شما.
فایل JSON پیوندهای دارایی دیجیتال را در مکان زیر در دامنههای ورود میزبانی کنید:
https:// DOMAIN [: OPTIONAL_PORT ]/.well-known/assetlinks.json
، جایی کهDOMAIN
کاملاً واجد شرایط است، وOPTIONAL_PORT
باید حذف شود. استفاده از پورت 443 برای HTTPS.با جاسازی عبارتی در فایل
res/values/strings.xml
برنامه Android خود که به لیست دستوراتی که در مرحله 1 ایجاد کردهاید پیوند دارد، ارتباط را در برنامه Android اعلام کنید. یک شی اضافه کنید که فایلهایassetlinks.json
را برای بارگیری مشخص میکند. به عنوان مثال:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
DOMAIN
وOPTIONAL_PORT
را جایگزین کنید (در هنگام استفاده از پورت 443 برای HTTPS باید حذف شود) - برای مثالhttps://www.example.com
. از هر آپستروف و علامت نقل قولی که در رشته استفاده می کنید فرار کنید.همانطور که در مستندات DAL نشان داده شده است می توانید یک قطعه JSON را در فایل
strings.xml
خود اضافه کنید، اما استفاده از عبارتinclude
به شما امکان می دهد بدون انتشار نسخه جدیدی از برنامه خود، دستورات را تغییر دهید.با افزودن خط زیر به فایل
AndroidManifest.xml
برنامه خود در زیر<application>
، به عبارت موجود در مانیفست ارجاع دهید:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
نسخه جدید برنامه اندروید خود را در کنسول برنامهنویس Google Play منتشر کنید
پس از انجام این مراحل، اشتراک گذاری اعتبار یکپارچه بین وب سایت و برنامه اندروید خود را با موفقیت راه اندازی کرده اید.
توجه داشته باشید که این تنها راه معتبر برای راهاندازی DAL برای اشتراکگذاری اعتبار نیست، اما این رویکرد فرآیند آتی افزودن موجودیتهای جدید به شبکه اشتراکگذاری اعتبار یکپارچه شما را ساده میکند، قابلیت استفاده مجدد کد را ارتقا میدهد و احتمال خطا در طول بهروزرسانی را کاهش میدهد.