راه‌اندازی اشتراک‌گذاری بی‌وقفه اعتبارنامه در برنامه‌ها و وب‌سایت‌های Android

با فعال کردن اشتراک گذاری اعتبار بین پلتفرمی بدون درز در برنامه ها و وب سایت های خود، راحتی کاربر را به حداکثر برسانید. هنگامی که چندین وب‌سایت و برنامه اندرویدی یک پشتیبان مدیریت حساب را به اشتراک می‌گذارند، این ویژگی به کاربران امکان می‌دهد یک بار اعتبارنامه‌ها را ذخیره کنند و به‌طور خودکار در هر وب‌سایت یا برنامه Android پیوندی پیشنهاد شوند.

بهترین شیوه ها

برای تجربه و امنیت بهینه کاربر، اشتراک‌گذاری یکپارچه اعتبارنامه را در این نقاط تماس اجرا کنید:

  • فرم ورود به سیستم : پر کردن خودکار اعتبارنامه را فعال کنید.
  • فرم ثبت نام : اعتبارنامه های جدید را به صورت ایمن برای استفاده در پلتفرم ها ذخیره کنید.
  • فرم تغییر رمز عبور : به روز رسانی رمز عبور را در همه سیستم عامل ها همگام سازی کنید.
  • فرم بازنشانی رمز عبور : به بازنشانی رمز عبور تکی برای به‌روزرسانی همه پلتفرم‌ها اجازه دهید.
  • دامنه‌های مشاهده وب : اشتراک‌گذاری اعتبار را به دامنه‌های مشاهده وب در برنامه خود که مدیریت حساب را مدیریت می‌کنند (ورود به میزبان، ثبت‌نام، تغییر رمز عبور یا فرم‌های بازنشانی رمز عبور) گسترش دهید.
  • برنامه های اندروید

این رویکرد یک سیستم مدیریت اعتبار یکپارچه ایجاد می کند و راحتی و امنیت کاربر را افزایش می دهد.

هنگام طراحی وب سایت های مدیریت حساب خود، به شما پیشنهاد می کنیم بهترین روش ها را برای سایت های مدیریت حساب دنبال کنید:

هنگام طراحی برنامه های Android خود، توصیه می کنیم برنامه خود را با Android Credential Manager ادغام کنید .

پیش نیازها

قبل از راه‌اندازی اشتراک‌گذاری یکپارچه اعتبارنامه، مطمئن شوید که برای هر پلتفرم موارد زیر را دارید:

برای هر برنامه اندروید:

برای هر وب سایت:

  • امکان انتشار فایل /.well-known/assetlinks.json در هر دامنه مربوطه، به دنبال نحو پیوند دارایی دیجیتال (DALs) .
  • همه دامنه های مدیریت حساب (ورود به سیستم، ثبت نام، تغییر رمز عبور یا فرم های بازنشانی رمز عبور) باید از طریق HTTPS قابل دسترسی باشند.

اشتراک‌گذاری یکپارچه اعتبارنامه را در برنامه‌ها و وب‌سایت‌های Android فعال کنید

برای پیکربندی اشتراک‌گذاری بی‌وقفه اعتبارنامه در بین برنامه‌ها و وب‌سایت‌ها، فهرست‌های بیانیه پیوندهای دارایی دیجیتال را ایجاد و منتشر می‌کنید که اعلام می‌کند کدام نهادها (وب‌سایت‌ها یا برنامه‌های Android) مجاز به اشتراک‌گذاری اعتبارنامه هستند.

برای اعلام رابطه اشتراک اعتبار:

  1. یک فایل 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 گواهی امضای برنامه شما.

  2. فایل JSON پیوندهای دارایی دیجیتال را در مکان زیر در دامنه‌های ورود میزبانی کنید: https:// DOMAIN [: OPTIONAL_PORT ]/.well-known/assetlinks.json ، جایی که DOMAIN کاملاً واجد شرایط است، و OPTIONAL_PORT باید حذف شود. استفاده از پورت 443 برای HTTPS.

  3. با جاسازی عبارتی در فایل 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 به شما امکان می دهد بدون انتشار نسخه جدیدی از برنامه خود، دستورات را تغییر دهید.

  4. با افزودن خط زیر به فایل AndroidManifest.xml برنامه خود در زیر <application> ، به عبارت موجود در مانیفست ارجاع دهید:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
    
  5. نسخه جدید برنامه اندروید خود را در کنسول برنامه‌نویس Google Play منتشر کنید

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

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