پیوند دادن حساب Google با App Flip مبتنی بر OAuth، پیوند حساب Google با App Flip مبتنی بر OAuth

پیوند برنامه مبتنی بر 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های سرویس شما ذخیره می‌کند.
برنامه شما نماینده مجوز کاربر را احراز هویت می‌کند (معمولاً با استفاده از اعتبارنامه‌های موجود برنامه)، رضایت را دریافت می‌کند و یک کد مجوز را از سرور شما بازیابی می‌کند.
سرور احراز هویت شما سرور احراز هویت کدهای مجوز و توکن‌های به‌روزرسانی را اعتبارسنجی می‌کند و توکن‌های دسترسی را به سرور گوگل صادر می‌کند.

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 در برنامه‌هایتان

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

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

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

تست برنامه تلنگر

قبل از اینکه برنامه‌های کاربردی تأیید شده و یک سرور OAuth 2.0 کارآمد در دسترس قرار گیرند، می‌توان App Flip را با استفاده از برنامه‌های نمونه و آزمایشی شبیه‌سازی کرد.

در طول App Flip، برنامه گوگل ابتدا برنامه شما را باز می‌کند و سپس از سرور OAuth 2.0 شما درخواست کد مجوز می‌کند و در مرحله آخر پاسخ به برنامه گوگل بازگردانده می‌شود.

پیش‌نیازها

برای شبیه‌سازی یک برنامه گوگل و فعال کردن intent که برنامه شما را اجرا می‌کند، ابزار App Flip Test را برای اندروید و iOS دانلود و نصب کنید.

برای شبیه‌سازی برنامه خود و انتخاب نوع پاسخ OAuth 2.0، App Flip Sample را برای اندروید و iOS دانلود و نصب کنید.

توالی آزمایش

  1. ابزار تست چرخش برنامه را باز کنید.
  2. برای اجرای برنامه نمونه App Flip خود، دکمه Try Flip! را فشار دهید.
  3. یک پاسخ را از دکمه‌های رادیویی در برنامه Sample انتخاب کنید.
  4. برای ارسال پاسخ شبیه‌سازی‌شده‌ی OAuth 2.0 به ابزار تست، Send فشار دهید.
  5. پیام‌های لاگ ابزار تست را برای کد تایید یا جزئیات خطا بررسی کنید.

آزمایش تولید

App Flip می‌تواند پس از تکمیل ثبت‌نام و پیاده‌سازی سرور OAuth 2.0 شما، در محیط عملیاتی آزمایش شود.

برای تست خودکار، یک حساب گوگل و یک آدرس ایمیل مخصوص کار توصیه می‌شود.

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

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