نمای کلی

پیوند برنامه مبتنی بر OAuth (App Flip) به کاربران شما اجازه می‌دهد تا به سرعت حساب‌های خود را در سیستم احراز هویت شما به حساب‌های گوگل خود پیوند دهند. اگر برنامه شما هنگام شروع فرآیند پیوند حساب روی تلفن کاربر نصب شده باشد، آنها به طور یکپارچه برای دریافت مجوز کاربر به برنامه شما منتقل می‌شوند.

این رویکرد فرآیند اتصال سریع‌تری را فراهم می‌کند، زیرا کاربر مجبور نیست نام کاربری و رمز عبور خود را برای تأیید اعتبار دوباره وارد کند؛ در عوض، App Flip از اعتبارنامه‌های حساب کاربری در برنامه شما استفاده می‌کند. هنگامی که کاربر حساب گوگل خود را با برنامه شما مرتبط کرد، می‌تواند از هرگونه ادغامی که شما ایجاد کرده‌اید، بهره‌مند شود.

می‌توانید App Flip را هم برای برنامه‌های iOS و هم برای برنامه‌های اندروید تنظیم کنید.

این شکل مراحل اتصال حساب گوگل کاربر به سیستم احراز هویت شما را نشان می‌دهد. تصویر اول نشان می‌دهد که چگونه کاربر می‌تواند در صورت اتصال حساب گوگل خود به برنامه شما، برنامه شما را انتخاب کند. تصویر دوم تأیید اتصال حساب گوگل او به برنامه شما را نشان می‌دهد. تصویر سوم اتصال موفقیت‌آمیز حساب کاربری در برنامه گوگل را نشان می‌دهد.
شکل ۱. اتصال حساب کاربری روی گوشی کاربر با استفاده از App Flip.

الزامات

برای پیاده‌سازی App Flip، باید الزامات زیر را برآورده کنید:

  • شما باید یک اپلیکیشن اندروید یا iOS داشته باشید.
  • شما باید مالک، مدیر و نگهدارنده یک سرور OAuth 2.0 باشید که از جریان کد مجوز OAuth 2.0 پشتیبانی کند.

جریان معکوس برنامه مبتنی بر OAuth

نمودار توالی زیر، تعامل بین کاربر، برنامه گوگل، برنامه شما و سرور احراز هویت شما را برای App Flip به تفصیل نشان می‌دهد.

کاربر اپلیکیشن گوگل برنامه شما سرور گوگل مجوز شما سرور ۱. شروع پیوند ۲. لینک عمیق به اپلیکیشن شما ۳. نمایش صفحه رضایت ۴. کاربر رضایت می‌دهد ۵. دریافت کد تایید ۶. کد_مجوز ۷. به برنامه گوگل برگردید ۸. کد را به سرور گوگل ارسال کنید ۹. صرافی توکن (POST) ۱۰. توکن_دسترسی، توکن_رفرش ۱۱. ذخیره توکن‌های کاربر ۱۲. دسترسی به منابع کاربر
شکل ۲. توالی رویدادها در جریان App Flip. اگر کد مجوز ارائه شود، تبادل توکن از سرور به سرور اتفاق می‌افتد، همانطور که در جریان لینک‌دهی OAuth مبتنی بر مرورگر انجام می‌شود.

نقش‌ها و مسئولیت‌ها

جدول زیر نقش‌ها و مسئولیت‌های بازیگران در جریان App Flip را تعریف می‌کند.

بازیگر / جزء نقش GAL مسئولیت‌ها
برنامه/سرور گوگل کلاینت OAuth فرآیند پیوند را آغاز می‌کند، یک پیوند عمیق به برنامه تلفن همراه شما ایجاد می‌کند، کد مجوز را با توکن‌ها مبادله می‌کند و آنها را به طور ایمن برای دسترسی به APIهای سرویس شما ذخیره می‌کند.
برنامه شما نماینده مجوز کاربر را احراز هویت می‌کند (معمولاً با استفاده از اعتبارنامه‌های موجود برنامه)، رضایت را دریافت می‌کند و یک کد مجوز را از سرور شما بازیابی می‌کند.
سرور احراز هویت شما سرور احراز هویت کدهای مجوز و توکن‌های به‌روزرسانی را اعتبارسنجی می‌کند و توکن‌های دسترسی را به سرور گوگل صادر می‌کند.

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

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

برای App Flip مبتنی بر OAuth تنظیم کنید

بخش‌های زیر پیش‌نیازهای App Flip مبتنی بر OAuth و نحوه پیکربندی پروژه App Flip خود را در کنسول Actions شرح می‌دهند.

یک Action ایجاد کنید و یک سرور OAuth 2.0 راه اندازی کنید

قبل از اینکه بتوانید App Flip را پیکربندی کنید، باید موارد زیر را انجام دهید:

  • یک اکشن ایجاد کنید. برای ایجاد یک Action، دستورالعمل های موجود در بخش Create a project را دنبال کنید.
  • یک سرور OAuth 2.0 راه اندازی کنید. برای اطلاعات بیشتر درباره راه‌اندازی سرور OAuth، به پیاده‌سازی پیوند حساب OAuth مراجعه کنید.

App Flip را در کنسول Actions پیکربندی کنید

بخش زیر نحوه پیکربندی App Flip را در کنسول Actions توضیح می‌دهد.

  1. روی توسعه در پیمایش بالا کلیک کنید. سپس روی Account linking در ناوبری سمت چپ کلیک کنید.
  2. سوئیچ کنار پیوند حساب را روشن کنید.
  3. در قسمت ایجاد حساب ، خیر را انتخاب کنید، من فقط می‌خواهم اجازه ایجاد حساب در وب‌سایت خود را بدهم .
  4. روی Next کلیک کنید.
  5. در قسمت نوع پیوند ، OAuth و کد مجوز را از منوهای کشویی انتخاب کنید.
  6. روی Next کلیک کنید.
  7. تمام فیلدهای زیر اطلاعات مشتری OAuth را پر کنید. (اگر App Flip پشتیبانی نمی شود، OAuth معمولی به عنوان یک بازگشت استفاده می شود.)
  8. روی Next کلیک کنید.
  9. در قسمت Use your app for account linking (اختیاری) ، گزینه Enable for iOS را علامت بزنید.
  10. فیلد پیوند جهانی را پر کنید. برای اطلاعات بیشتر درباره پیوندهای جهانی، به اجازه دادن به برنامه‌ها و وب‌سایت‌ها برای پیوند دادن به محتوای شما مراجعه کنید.
  11. اگر می‌خواهید به صورت اختیاری مشتری خود را پیکربندی کنید، دامنه‌ها را اضافه کنید و روی Add scope در زیر Configure your client (اختیاری) کلیک کنید. اگر نه، روی Next کلیک کنید.
  12. در دستورالعمل‌های تست، test (یا هر رشته دیگری) را به‌عنوان جای‌بان تایپ کنید. (پر کردن این فیلد با یک حساب آزمایشی تنها در صورتی ضروری است که شما واقعاً اقدام خود را برای انتشار ارسال می کنید.)
  13. روی ذخیره کلیک کنید.

اکنون می توانید برای پیاده سازی App Flip در برنامه iOS یا Android خود به بخش بعدی بروید.

App Flip را در برنامه های بومی خود پیاده کنید

برای اجرای App Flip، باید کد مجوز کاربر را در برنامه خود تغییر دهید تا پیوند عمیق از Google را بپذیرید.

برنامه Flip را روی دستگاه خود تست کنید

اکنون که یک Action ایجاد کرده اید و App Flip را در کنسول و برنامه خود پیکربندی کرده اید، می توانید App Flip را در دستگاه تلفن همراه خود آزمایش کنید. برای آزمایش App Flip می توانید از برنامه Google Assistant استفاده کنید.

برای آزمایش App Flip از برنامه Assistant، این مراحل را دنبال کنید:

  1. به کنسول Actions بروید و پروژه خود را انتخاب کنید.
  2. روی تست در پیمایش بالا کلیک کنید.
  3. جریان پیوند حساب را از برنامه دستیار فعال کنید:
    1. برنامه Google Assistant را باز کنید.
    2. روی تنظیمات کلیک کنید.
    3. در تب Assistant، روی Home Control کلیک کنید.
    4. روی Add(+) کلیک کنید.
    5. Action خود را از لیست ارائه دهندگان انتخاب کنید. پیشوند آن با "[test]" در لیست خواهد بود. وقتی اکشن [تست] خود را از لیست انتخاب می‌کنید، باید برنامه شما را باز کند.
    6. بررسی کنید که برنامه شما راه اندازی شده است و شروع به آزمایش جریان مجوز خود کنید.