الربط السلس باستخدام OAuth وتسجيل الدخول إلى Google

نظرة عامة

تضيف ميزة تسجيل الدخول الموحّد المستندة إلى OAuth إلى تسجيل الدخول بحساب Google في أعلى ربط OAuth. ويوفّر ذلك تجربة ربط سلسة لمستخدمي Google، ويتيح أيضًا إنشاء الحساب، ما يسمح للمستخدم بإنشاء حساب جديد على خدمتك باستخدام حسابه على Google.

لإجراء ربط الحساب باستخدام OAuth وتسجيل الدخول بحساب Google، يُرجى اتّباع الخطوات العامة التالية:

  1. أولاً، اطلب من المستخدم منح الموافقة للوصول إلى ملفه الشخصي على Google.
  2. استخدام المعلومات في ملفه الشخصي للتحقق من وجود حساب المستخدم.
  3. وبالنسبة إلى المستخدمين الحاليين، اربط الحسابات.
  4. إذا لم تتمكن من العثور على تطابق لمستخدم Google في نظام المصادقة، تحقق من صحة الرمز المميز للمعرّف الذي تلقيته من Google. ويمكنك بعد ذلك إنشاء مستخدم استنادًا إلى معلومات الملف الشخصي في الرمز المميز للمعرّف.
يوضح هذا الرقم خطوات المستخدم لربط حسابه على Google باستخدام مسار الربط المبسّط. تعرض لقطة الشاشة الأولى كيفية اختيار المستخدم لتطبيقك للربط. تتيح لقطة الشاشة الثانية للمستخدم تأكيد ما إذا كان لديه حساب حالي في خدمتك أم لا. تتيح لقطة الشاشة الثالثة للمستخدم اختيار حساب Google الذي يريد ربطه. تعرض لقطة الشاشة الرابعة تأكيد ربط حساب Google بتطبيقك. تعرض لقطة الشاشة الخامسة حساب مستخدم تم ربطه بنجاح في تطبيق Google.

الشكل 1. ربط الحساب على هاتف المستخدم باستخدام الربط السلس

متطلبات الربط السلس

تنفيذ خادم OAuth

يجب أن تتوافق نقطة نهاية تبادل الرموز المميزة مع أهداف check وcreate وget. يعرض أدناه الخطوات المكتملة من خلال مسار ربط الحساب ويشير إلى وقت استدعاء الأغراض المختلفة:

  1. هل يمتلك المستخدم حسابًا في نظام المصادقة؟ (يقرّ المستخدم من خلال اختيار "نعم" أو "لا")
    1. نعم : هل يستخدم المستخدم البريد الإلكتروني المرتبط بحسابه على Google لتسجيل الدخول إلى النظام الأساسي؟ (يقرّ المستخدم من خلال اختيار "نعم" أو "لا")
      1. نعم : هل لدى المستخدم حساب مطابق في نظام المصادقة الذي تستخدمه؟ (يُطلب من check intent التأكيد)
        1. نعم: تم استدعاء get intent ويتم ربط الحساب إذا تم الحصول على عمليات إرجاع السلع عن طريق الخطأ بنجاح.
        2. لا : هل تريد إنشاء حساب جديد؟ (يقرّ المستخدم من خلال اختيار "نعم" أو "لا")
          1. نعم : تم استدعاء create intent ويتم ربط الحساب إذا تم إنشاء عمليات إرجاع نية الشراء بنجاح.
          2. لا : يتم تشغيل مسار OAuth على الويب، ويتم توجيه المستخدم إلى المتصفح، ويُتاح للمستخدم خيار الربط بعنوان بريد إلكتروني مختلف.
      2. لا : يتم تشغيل مسار OAuth على الويب، ويتم توجيه المستخدم إلى المتصفح، ويُتاح للمستخدم خيار الربط بعنوان بريد إلكتروني مختلف.
    2. لا : هل يمتلك المستخدم حسابًا مطابقًا في نظام المصادقة؟ (يُطلب من check intent التأكيد)
      1. نعم: تم استدعاء get intent ويتم ربط الحساب إذا تم الحصول على عمليات إرجاع السلع عن طريق الخطأ بنجاح.
      2. لا: سيتم استدعاء create intent ويتم ربط الحساب في حال إنشاء عمليات إرجاع نية الشراء بنجاح.

تحقق من وجود حساب مستخدم موجود (تحقق من النية)

بعد أن يمنح المستخدم الموافقة على الوصول إلى ملفه الشخصي في Google ، ترسل Google طلبًا يحتوي على تأكيد موقع بهوية مستخدم Google. يحتوي التأكيد على معلومات تتضمن معرف حساب Google للمستخدم واسمه وعنوان بريده الإلكتروني. تعالج نقطة نهاية تبادل الرمز المميز التي تم تكوينها لمشروعك هذا الطلب.

إذا كان حساب جوجل المقابلة موجود بالفعل في نظام التوثيق الخاص، رمزية يستجيب صرف نقطة النهاية مع account_found=true . إذا لم تطابق حساب Google مستخدم موجود، لديك نقطة النهاية الصرف رمزية بإرجاع HTTP 404 خطأ لم يتم العثور مع account_found=false .

الطلب يحتوي على النموذج التالي:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=check&assertion=JWT&scope=SCOPES

يجب أن تكون نقطة نهاية تبادل الرمز المميز قادرة على التعامل مع المعلمات التالية:

معلمات نقطة نهاية الرمز المميز
intent لهذه الطلبات، وقيمة هذه المعلمة هي check .
grant_type نوع الرمز المميز الذي يتم تبادله. لهذه الطلبات، هذه المعلمة لديها قيمة urn:ietf:params:oauth:grant-type:jwt-bearer .
assertion رمز ويب JSON (JWT) يوفر تأكيدًا موقعًا لهوية مستخدم Google. تحتوي JWT على معلومات تتضمن معرف حساب Google للمستخدم واسمه وعنوان بريده الإلكتروني.

للرد على check طلبات عازمة، يجب أن لديك نقطة النهاية الصرف رمزي بتنفيذ الخطوات التالية:

  • تحقق من صحة تأكيد JWT وفك تشفيره.
  • تحقق مما إذا كان حساب Google موجودًا بالفعل في نظام المصادقة الخاص بك.
تحقق من صحة تأكيد JWT وفك تشفيره

يمكنك التحقق من صحة وفك تشفير تأكيد JWT باستخدام مكتبة فك تشفير JWT للغتك . استخدم مفاتيح Google العامة ، المتوفرة بتنسيقات JWK أو PEM ، للتحقق من توقيع الرمز المميز.

عند فك التشفير ، يبدو تأكيد JWT مثل المثال التالي:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

بالإضافة إلى التحقق من توقيع الرمز المميز، تحقق من المصدر التأكيد على ( iss الميدان) هو https://accounts.google.com ، أن الجمهور ( aud الميدان) هو معرف العميل المعين، وهذا الرمز المميز لم تنته ( exp مجال).

باستخدام حقول email و email_verified و hd ، يمكنك تحديد ما إذا كانت Google تستضيف email_verified لعنوان بريد إلكتروني. في الحالات التي تكون فيها Google مخولة ، من المعروف حاليًا أن المستخدم هو المالك الشرعي للحساب ويمكنك تخطي كلمة المرور أو طرق التحقق الأخرى. بخلاف ذلك ، يمكن استخدام هذه الطرق للتحقق من الحساب قبل الربط.

الحالات التي يكون فيها Google موثوقًا:

  • يحتوي email على لاحقة @gmail.com ، وهذا حساب Gmail.
  • email_verified صحة email_verified وتم تعيين hd ، هذا حساب G Suite.

يمكن للمستخدمين التسجيل في حسابات Google دون استخدام Gmail أو G Suite. عندما لا يحتوي email على لاحقة @gmail.com ويكون hd غائبًا ، لا يكون Google موثوقًا ويوصى باستخدام كلمة المرور أو طرق التحدي الأخرى للتحقق من المستخدم. يمكن أيضًا أن يكون email_verfied صحيحًا نظرًا لأن Google قد تحققت في البداية من المستخدم عند إنشاء حساب Google ، ولكن ربما تغيرت ملكية حساب البريد الإلكتروني للجهة الخارجية.

تحقق مما إذا كان حساب Google موجودًا بالفعل في نظام المصادقة الخاص بك

تحقق مما إذا كانت أي من الشروط التالية صحيحة:

  • معرف حساب Google، وجدت في التأكيد على sub المجال، في قاعدة بيانات المستخدم الخاص بك.
  • يتطابق عنوان البريد الإلكتروني في التأكيد مع مستخدم في قاعدة بيانات المستخدم الخاصة بك.

إذا كان أي من الشرطين صحيحًا ، فهذا يعني أن المستخدم قد قام بالتسجيل بالفعل. في هذه الحالة ، قم بإرجاع الرد كما يلي:

HTTP/1.1 200 Success
Content-Type: application/json;charset=UTF-8

{
  "account_found":"true",
}

إذا لم يتطابق معرف حساب Google ولا عنوان البريد الإلكتروني المحدد في التأكيد مع مستخدم في قاعدة البيانات الخاصة بك ، فهذا يعني أن المستخدم لم يشترك بعد. في هذه الحالة، تحتاج الخاص بك نقطة النهاية الصرف رمزية للرد مع خطأ HTTP 404 التي تحدد "account_found": "false" ، كما في المثال التالي:

HTTP/1.1 404 Not found
Content-Type: application/json;charset=UTF-8

{
  "account_found":"false",
}

التعامل مع الارتباط التلقائي (الحصول على النية)

بعد أن يمنح المستخدم الموافقة على الوصول إلى ملفه الشخصي في Google ، ترسل Google طلبًا يحتوي على تأكيد موقع بهوية مستخدم Google. يحتوي التأكيد على معلومات تتضمن معرف حساب Google للمستخدم واسمه وعنوان بريده الإلكتروني. تعالج نقطة نهاية تبادل الرمز المميز التي تم تكوينها لمشروعك هذا الطلب.

إذا كان حساب Google المقابل موجودًا بالفعل في نظام المصادقة الخاص بك ، فإن نقطة نهاية تبادل الرمز الخاص بك ترجع رمزًا مميزًا للمستخدم. إذا لم تطابق حساب Google مستخدم موجود، لديك نقطة النهاية الصرف رمزية بإرجاع linking_error خطأ واختياري login_hint .

الطلب يحتوي على النموذج التالي:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&intent=get&assertion=JWT&scope=SCOPES

يجب أن تكون نقطة نهاية تبادل الرمز المميز قادرة على التعامل مع المعلمات التالية:

معلمات نقطة نهاية الرمز المميز
intent لهذه الطلبات، وقيمة هذه المعلمة هي get .
grant_type نوع الرمز المميز الذي يتم تبادله. لهذه الطلبات، هذه المعلمة لديها قيمة urn:ietf:params:oauth:grant-type:jwt-bearer .
assertion رمز ويب JSON (JWT) يوفر تأكيدًا موقعًا لهوية مستخدم Google. تحتوي JWT على معلومات تتضمن معرف حساب Google للمستخدم واسمه وعنوان بريده الإلكتروني.
scope اختياري: أي نطاقات التي تمت تهيئتها جوجل لطلب من المستخدمين.

للرد على get طلبات عازمة، يجب أن لديك نقطة النهاية الصرف رمزي بتنفيذ الخطوات التالية:

  • تحقق من صحة تأكيد JWT وفك تشفيره.
  • تحقق مما إذا كان حساب Google موجودًا بالفعل في نظام المصادقة الخاص بك.
تحقق من صحة تأكيد JWT وفك تشفيره

يمكنك التحقق من صحة وفك تشفير تأكيد JWT باستخدام مكتبة فك تشفير JWT للغتك . استخدم مفاتيح Google العامة ، المتوفرة بتنسيقات JWK أو PEM ، للتحقق من توقيع الرمز المميز.

عند فك التشفير ، يبدو تأكيد JWT مثل المثال التالي:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

بالإضافة إلى التحقق من توقيع الرمز المميز، تحقق من المصدر التأكيد على ( iss الميدان) هو https://accounts.google.com ، أن الجمهور ( aud الميدان) هو معرف العميل المعين، وهذا الرمز المميز لم تنته ( exp مجال).

باستخدام حقول email و email_verified و hd ، يمكنك تحديد ما إذا كانت Google تستضيف email_verified لعنوان بريد إلكتروني. في الحالات التي تكون فيها Google مخولة ، من المعروف حاليًا أن المستخدم هو المالك الشرعي للحساب ويمكنك تخطي كلمة المرور أو طرق التحقق الأخرى. بخلاف ذلك ، يمكن استخدام هذه الطرق للتحقق من الحساب قبل الربط.

الحالات التي يكون فيها Google موثوقًا:

  • يحتوي email على لاحقة @gmail.com ، وهذا حساب Gmail.
  • email_verified صحة email_verified وتم تعيين hd ، هذا حساب G Suite.

يمكن للمستخدمين التسجيل في حسابات Google دون استخدام Gmail أو G Suite. عندما لا يحتوي email على لاحقة @gmail.com ويكون hd غائبًا ، لا يكون Google موثوقًا ويوصى باستخدام كلمة المرور أو طرق التحدي الأخرى للتحقق من المستخدم. يمكن أيضًا أن يكون email_verfied صحيحًا نظرًا لأن Google قد تحققت في البداية من المستخدم عند إنشاء حساب Google ، ولكن ربما تغيرت ملكية حساب البريد الإلكتروني للجهة الخارجية.

تحقق مما إذا كان حساب Google موجودًا بالفعل في نظام المصادقة الخاص بك

تحقق مما إذا كانت أي من الشروط التالية صحيحة:

  • معرف حساب Google، وجدت في التأكيد على sub المجال، في قاعدة بيانات المستخدم الخاص بك.
  • يتطابق عنوان البريد الإلكتروني في التأكيد مع مستخدم في قاعدة بيانات المستخدم الخاصة بك.

إذا تم العثور على حساب المستخدم، إصدار الوصول رمز وإرجاع القيم في كائن JSON في الجسم من HTTPS ردكم، كما في المثال التالي:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

في بعض الحالات ، قد يفشل ربط الحساب بناءً على رمز المعرف المميز للمستخدم. وإذا كان يفعل ذلك لأي سبب من الأسباب، تحتاج الخاص بك نقطة النهاية الصرف رمزية للرد مع HTTP 401 خطأ أن يحدد error=linking_error ، كما يظهر في المثال التالي:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

عندما تلقي Google استجابة 401 خطأ مع linking_error ، وجوجل يرسل المستخدم إلى نقطة النهاية تفويضك مع login_hint كمعلمة. يكمل المستخدم ربط الحساب باستخدام تدفق ربط OAuth في متصفحه.

التعامل مع إنشاء الحساب عبر Google Sign-In (create intent)

عندما يحتاج المستخدم إلى إنشاء حساب على خدمتك، وجوجل يجعل طلب الخاص بك نقطة النهاية الصرف رمزية أن يحدد intent=create .

الطلب يحتوي على النموذج التالي:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

response_type=token&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&scope=SCOPES&intent=create&assertion=JWT

يجب أن تكون نقطة نهاية تبادل الرمز المميز قادرة على التعامل مع المعلمات التالية:

معلمات نقطة نهاية الرمز المميز
intent لهذه الطلبات، وقيمة هذه المعلمة هي create .
grant_type نوع الرمز المميز الذي يتم تبادله. لهذه الطلبات، هذه المعلمة لديها قيمة urn:ietf:params:oauth:grant-type:jwt-bearer .
assertion رمز ويب JSON (JWT) يوفر تأكيدًا موقعًا لهوية مستخدم Google. تحتوي JWT على معلومات تتضمن معرف حساب Google للمستخدم واسمه وعنوان بريده الإلكتروني.

وJWT داخل assertion المعلمة يحتوي على معرف حساب Google، اسم وعنوان البريد الإلكتروني للمستخدم، والتي يمكنك استخدامها لإنشاء حساب جديد لخدمتكم.

للرد على create طلبات عازمة، لديك نقطة النهاية الصرف رمزي يجب تنفيذ الخطوات التالية:

  • تحقق من صحة تأكيد JWT وفك تشفيره.
  • التحقق من صحة معلومات المستخدم وإنشاء حساب جديد.
تحقق من صحة تأكيد JWT وفك تشفيره

يمكنك التحقق من صحة وفك تشفير تأكيد JWT باستخدام مكتبة فك تشفير JWT للغتك . استخدم مفاتيح Google العامة ، المتوفرة بتنسيقات JWK أو PEM ، للتحقق من توقيع الرمز المميز.

عند فك التشفير ، يبدو تأكيد JWT مثل المثال التالي:

{
  "sub": "1234567890",      // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The assertion's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Your server's client ID
  "iat": 233366400,         // Unix timestamp of the assertion's creation time
  "exp": 233370000,         // Unix timestamp of the assertion's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "email_verified": true,   // true, if Google has verified the email address
  "hd": "example.com",      // If present, the host domain of the user's GSuite email address
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/AOh14GjlTnZKHAeb94A-FmEbwZv7uJD986VOF1mJGb2YYQ",
  "locale": "en_US"         // User's locale, from browser or phone settings
}

بالإضافة إلى التحقق من توقيع الرمز المميز، تحقق من المصدر التأكيد على ( iss الميدان) هو https://accounts.google.com ، أن الجمهور ( aud الميدان) هو معرف العميل المعين، وهذا الرمز المميز لم تنته ( exp مجال).

باستخدام حقول email و email_verified و hd ، يمكنك تحديد ما إذا كانت Google تستضيف email_verified لعنوان بريد إلكتروني. في الحالات التي تكون فيها Google مخولة ، من المعروف حاليًا أن المستخدم هو المالك الشرعي للحساب ويمكنك تخطي كلمة المرور أو طرق التحقق الأخرى. بخلاف ذلك ، يمكن استخدام هذه الطرق للتحقق من الحساب قبل الربط.

الحالات التي يكون فيها Google موثوقًا:

  • يحتوي email على لاحقة @gmail.com ، وهذا حساب Gmail.
  • email_verified صحة email_verified وتم تعيين hd ، هذا حساب G Suite.

يمكن للمستخدمين التسجيل في حسابات Google دون استخدام Gmail أو G Suite. عندما لا يحتوي email على لاحقة @gmail.com ويكون hd غائبًا ، لا يكون Google موثوقًا ويوصى باستخدام كلمة المرور أو طرق التحدي الأخرى للتحقق من المستخدم. يمكن أيضًا أن يكون email_verfied صحيحًا نظرًا لأن Google قد تحققت في البداية من المستخدم عند إنشاء حساب Google ، ولكن ربما تغيرت ملكية حساب البريد الإلكتروني للجهة الخارجية.

التحقق من صحة معلومات المستخدم وإنشاء حساب جديد

تحقق مما إذا كانت أي من الشروط التالية صحيحة:

  • معرف حساب Google، وجدت في التأكيد على sub المجال، في قاعدة بيانات المستخدم الخاص بك.
  • يتطابق عنوان البريد الإلكتروني في التأكيد مع مستخدم في قاعدة بيانات المستخدم الخاصة بك.

إذا كان أي من الشرطين صحيحًا ، فاطلب من المستخدم ربط حسابه الحالي بحسابه على Google. للقيام بذلك، الاستجابة إلى الطلب مع HTTP 401 خطأ أن يحدد error=linking_error ويعطي عنوان البريد الإلكتروني للمستخدم كما login_hint . فيما يلي نموذج للرد:

HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=UTF-8

{
  "error":"linking_error",
  "login_hint":"foo@bar.com"
}

عندما تلقي Google استجابة 401 خطأ مع linking_error ، وجوجل يرسل المستخدم إلى نقطة النهاية تفويضك مع login_hint كمعلمة. يكمل المستخدم ربط الحساب باستخدام تدفق ربط OAuth في متصفحه.

إذا لم يكن أي من الشرطين صحيحًا ، فقم بإنشاء حساب مستخدم جديد بالمعلومات المتوفرة في JWT. لا يتم تعيين كلمة مرور للحسابات الجديدة عادةً. يوصى بإضافة تسجيل الدخول بحساب Google إلى الأنظمة الأساسية الأخرى لتمكين المستخدمين من تسجيل الدخول باستخدام Google عبر أسطح التطبيق الخاص بك. بدلاً من ذلك ، يمكنك إرسال رابط عبر البريد الإلكتروني إلى المستخدم لبدء تدفق استعادة كلمة المرور للسماح للمستخدم بتعيين كلمة مرور لتسجيل الدخول على الأنظمة الأساسية الأخرى.

عند اكتمال إنشاء وإصدار الوصول رمز وإرجاع القيم في كائن JSON في الجسم من HTTPS ردكم، كما في المثال التالي:

{
  "token_type": "Bearer",
  "access_token": "ACCESS_TOKEN",

  "expires_in": SECONDS_TO_EXPIRATION
}

الحصول على معرِّف عميل واجهة برمجة تطبيقات Google

وسيُطلب منك تقديم معرِّف عميل واجهة برمجة تطبيقات Google أثناء عملية تسجيل ربط الحساب.

للحصول على معرِّف عميل واجهة برمجة التطبيقات باستخدام المشروع الذي أنشأته أثناء إكمال خطوات ربط OAuth. ولإجراء ذلك، أكمِل الخطوات التالية:

  1. افتح صفحة بيانات الاعتماد في وحدة تحكُّم Google API.
  2. أنشئ مشروع Google APIs أو اختَره.

    إذا لم يكن مشروعك يتضمّن "معرّف عميل" لنوع تطبيق الويب، انقر على إنشاء بيانات اعتماد &gt؛ معرّف عميل OAuth لإنشاء معرّف. وتأكّد من تضمين نطاق موقعك الإلكتروني في المربّع مصادر JavaScript المعتمَدة. عند إجراء اختبارات أو تطوير محلي، يجب إضافة http://localhost وhttp://localhost:<port_number> إلى الحقل مصادر JavaScript المعتمَدة.

التحقّق من صحة عملية التنفيذ

يمكنك التحقق من صحة التطبيق الخاص بك باستخدام ملعب أوث 2.0 الأداة.

في الأداة ، قم بالخطوات التالية:

  1. انقر فوق تكوين لفتح نافذة تكوين أوث 2.0.
  2. في مجال تدفق أوث، اختر من جانب العميل.
  3. في مجال أوث النهايات، حدد مخصص.
  4. حدد نقطة نهاية OAuth 2.0 ومعرف العميل الذي عينته لـ Google في الحقول المقابلة.
  5. في القسم الخطوة 1، لا تحدد أي نطاقات جوجل. بدلاً من ذلك ، اترك هذا الحقل فارغًا أو اكتب نطاقًا صالحًا لخادمك (أو سلسلة عشوائية إذا كنت لا تستخدم نطاقات OAuth). عند الانتهاء من ذلك، انقر فوق تخويل واجهات برمجة التطبيقات.
  6. في الأقسام الخطوة 2 و الخطوة 3، انتقل من خلال تدفق أوث 2.0 والتحقق من أن كل خطوة تعمل على النحو المنشود.

يمكنك التحقق من صحة التطبيق الخاص بك باستخدام حساب Google ربط تجريبي الأداة.

في الأداة ، قم بالخطوات التالية:

  1. انقر على تسجيل الدخول باستخدام زر جوجل.
  2. اختر الحساب الذي ترغب في ربطه.
  3. أدخل معرف الخدمة.
  4. اختياريًا ، أدخل نطاقًا واحدًا أو أكثر ستطلب الوصول إليه.
  5. انقر فوق ابدأ تجريبي.
  6. عند المطالبة ، أكد أنه يمكنك الموافقة ورفض طلب الربط.
  7. تأكد من إعادة توجيهك إلى النظام الأساسي الخاص بك.