این صفحه مرجع، API مربوط به ویژگیهای داده HTML ورود با گوگل را شرح میدهد که برای نمایش دکمه ورود با گوگل یا اعلان تکلمسی در صفحات وب استفاده میشود.
عنصر با شناسه "g_id_onload"
شما میتوانید ویژگیهای دادهی «ورود با گوگل» را در هر عنصر قابل مشاهده یا نامرئی، مانند <div> و <span> قرار دهید. تنها شرط این است که شناسهی عنصر روی g_id_onload تنظیم شده باشد. این شناسه را روی چندین عنصر قرار ندهید.
ویژگیهای داده
جدول زیر ویژگیهای داده را به همراه توضیحات آنها فهرست میکند:
| ویژگی | |
|---|---|
data-client_id | شناسه کلاینت برنامه شما |
data-color_scheme | طرح رنگی اعمال شده برای اعلان One Tap. |
data-auto_prompt | نمایش ضربه گوگل وان. |
data-auto_select | انتخاب خودکار را در Google One Tap فعال میکند. |
data-login_uri | آدرس اینترنتی (URL) نقطه پایانی ورود شما |
data-callback | نام تابع مدیریت توکن شناسه جاوا اسکریپت |
data-native_login_uri | آدرس اینترنتی (URL) نقطه پایانی کنترلکننده اعتبارنامه رمز عبور شما |
data-native_callback | نام تابع مدیریت اعتبارنامه رمز عبور جاوا اسکریپت |
data-native_id_param | نام پارامتر برای مقدار credential.id |
data-native_password_param | نام پارامتر برای مقدار credential.password |
data-cancel_on_tap_outside | کنترل میکند که آیا در صورت کلیک کاربر خارج از محدودهی اعلان، اعلان لغو شود یا خیر. |
data-prompt_parent_id | شناسه DOM مربوط به عنصر کانتینر اعلان One Tap |
data-skip_prompt_cookie | اگر کوکی مشخص شده مقداری غیر خالی داشته باشد، از یک ضربه صرف نظر میکند. |
data-nonce | یک رشته تصادفی برای توکنهای شناسه |
data-context | عنوان و کلمات موجود در اعلان One Tap |
data-moment_callback | نام تابع شنونده اعلان وضعیت رابط کاربری سریع |
data-state_cookie_domain | اگر نیاز دارید که One Tap را در دامنه والد و زیردامنههای آن فراخوانی کنید، دامنه والد را به این ویژگی منتقل کنید تا از یک کوکی مشترک استفاده شود. |
data-ux_mode | جریان تجربه کاربری دکمه ورود با گوگل |
data-allowed_parent_origin | مبداهایی که مجاز به جاسازی iframe میانی هستند. اگر این ویژگی وجود داشته باشد، One Tap در حالت iframe میانی اجرا میشود. |
data-intermediate_iframe_close_callback | وقتی کاربران به صورت دستی One Tap را میبندند، رفتار پیشفرض iframe میانی را لغو میکند. |
data-itp_support | تجربه کاربری One Tap ارتقا یافته را در مرورگرهای ITP فعال میکند. |
data-login_hint | با ارائه یک راهنمای کاربری، از انتخاب حساب کاربری صرف نظر کنید. |
data-hd | محدود کردن انتخاب حساب کاربری بر اساس دامنه. |
data-use_fedcm_for_prompt | به مرورگر اجازه دهید تا درخواستهای ورود کاربر را کنترل کند و جریان ورود به سیستم را بین وبسایت شما و گوگل واسطهگری کند. |
data-use_fedcm_for_button | این فیلد تعیین میکند که آیا باید از رابط کاربری دکمه FedCM در کروم (دسکتاپ M125+ و اندروید M128+) استفاده شود یا خیر. مقدار پیشفرض false است. |
data-button_auto_select | آیا گزینه انتخاب خودکار برای جریان دکمه FedCM فعال شود یا خیر. در صورت فعال بودن، کاربرانی که دوباره با یک جلسه فعال گوگل وارد سیستم میشوند، به طور خودکار وارد سیستم میشوند و از مرحله انتخاب حساب کاربری عبور میکنند. مقدار پیشفرض false است. |
انواع ویژگیها
بخشهای بعدی شامل جزئیاتی در مورد نوع هر ویژگی و یک مثال است.
شناسه-مشتری-داده
این ویژگی، شناسه کلاینت برنامه شماست که در کنسول Google Cloud یافت و ایجاد میشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | بله | data-client_id="CLIENT_ID.apps.googleusercontent.com" |
طرح رنگ داده
این فیلد، طرح رنگی اعمال شده به اعلان One Tap است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری. به طور پیشفرض از طرح رنگ پیشفرض سیستم کاربر استفاده میکند. | data-color_scheme="dark" |
جدول زیر طرحهای رنگی موجود و توضیحات آنها را فهرست میکند.
| طرح رنگ | |
|---|---|
default | طرح رنگی پیشفرض سیستم کاربر را اعمال کنید، بسته به ترجیح کاربر، طرح رنگی میتواند روشن یا تیره باشد. |
light | یک طرح رنگی روشن اعمال کنید. |
dark | یک طرح رنگی تیره اعمال کنید. |
تابع داده خودکار
این ویژگی تعیین میکند که آیا One tap نمایش داده شود یا خیر. مقدار پیشفرض true است. وقتی این مقدار false باشد، Google One tap نمایش داده نمیشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-auto_prompt="true" |
انتخاب خودکار داده
این ویژگی تعیین میکند که آیا اگر فقط یک جلسه گوگل برنامه شما را تأیید کرده باشد، یک توکن شناسه به طور خودکار و بدون هیچ گونه تعامل با کاربر بازگرداند یا خیر. مقدار پیشفرض false است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-auto_select="true" |
داده-login_uri
این ویژگی، URI نقطه پایانی ورود شما است.
این مقدار باید دقیقاً با یکی از URI های ریدایرکت مجاز برای کلاینت OAuth 2.0 که در پلتفرم Google Auth پیکربندی کردهاید ، مطابقت داشته باشد و باید با قوانین اعتبارسنجی Redirect URI ما مطابقت داشته باشد.
اگر صفحه فعلی، صفحه ورود شما باشد، ممکن است این ویژگی حذف شود، که در این صورت اعتبارنامه به طور پیشفرض در این صفحه ارسال میشود.
پاسخ اعتبارنامه توکن شناسه زمانی به نقطه پایانی ورود شما ارسال میشود که هیچ تابع فراخوانی تعریف نشده باشد و کاربر روی دکمههای ورود با گوگل یا تکضربهای کلیک کند، یا ورود خودکار انجام شود.
نقطه پایانی ورود شما باید درخواستهای POST حاوی پارامتر credential با مقدار توکن شناسه در بدنه را مدیریت کند.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | اختیاری | مثال |
|---|---|---|
| آدرس اینترنتی | پیشفرض، آدرس اینترنتی (URI) صفحه فعلی یا مقداری است که شما مشخص میکنید. وقتی data-ux_mode="popup" و data-callback تنظیم شده باشند، نادیده گرفته میشود. | data-login_uri="https://www.example.com/login" |
فراخوانی داده
این ویژگی نام تابع جاوا اسکریپتی است که توکن شناسه (ID token) برگردانده شده را مدیریت میکند. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اگر data-login_uri تنظیم نشده باشد، الزامی است. | data-callback="handleToken" |
ممکن است یکی از ویژگیهای data-login_uri و data-callback استفاده شود. این بستگی به پیکربندی کامپوننت و حالت UX زیر دارد:
ویژگی
data-login_uriبرای حالت UXredirectدکمه ورود با گوگل الزامی است، که ویژگیdata-callbackرا نادیده میگیرد.یکی از این دو ویژگی باید برای حالت تجربه کاربری
popupدکمه ورود گوگل و حالت وان تپ تنظیم شود. اگر هر دو تنظیم شده باشند، ویژگیdata-callbackاولویت بالاتری دارد.
توابع جاوا اسکریپت درون یک فضای نام توسط HTML API پشتیبانی نمیشوند. در عوض، از یک تابع سراسری جاوا اسکریپت بدون فضای نام استفاده کنید. برای مثال، به جای mylibCallback از mylib.callback استفاده کنید.
داده-بومی_login_uri
این ویژگی، URL نقطه پایانی کنترلکننده اعتبارنامه رمز عبور شماست. اگر ویژگی data-native_login_uri یا ویژگی data-native_callback را تنظیم کنید، کتابخانه جاوا اسکریپت در صورت عدم وجود جلسه گوگل، به مدیر اعتبارنامه داخلی برمیگردد. شما مجاز به تنظیم همزمان ویژگیهای data-native_callback و data-native_login_uri نیستید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-login_uri="https://www.example.com/password_login" |
فراخوانی برگشتی داده-بومی
این ویژگی، نام تابع جاوا اسکریپتی است که اعتبارنامهی رمز عبور برگردانده شده از مدیریت اعتبارنامهی داخلی مرورگر را مدیریت میکند. اگر ویژگی data-native_login_uri یا ویژگی data-native_callback را تنظیم کنید، کتابخانهی جاوا اسکریپت در صورت عدم وجود جلسهی گوگل، به مدیریت اعتبارنامهی داخلی برمیگردد. شما مجاز به تنظیم همزمان data-native_callback و data-native_login_uri نیستید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-native_callback="handlePasswordCredential" |
توابع جاوا اسکریپت درون یک فضای نام توسط HTML API پشتیبانی نمیشوند. در عوض، از یک تابع سراسری جاوا اسکریپت بدون فضای نام استفاده کنید. برای مثال، به جای mylibCallback از mylib.callback استفاده کنید.
پارامتر_id_native_data
وقتی اعتبارنامه رمز عبور را به نقطه پایانی کنترلکننده اعتبارنامه رمز عبور ارسال میکنید، میتوانید نام پارامتر را برای فیلد credential.id مشخص کنید. نام پیشفرض email است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| آدرس اینترنتی | اختیاری | data-native_id_param="user_id" |
پارامتر رمز عبور بومی داده
وقتی اعتبارنامه رمز عبور را به نقطه پایانی کنترلکننده اعتبارنامه رمز عبور ارسال میکنید، میتوانید نام پارامتر را برای مقدار credential.password مشخص کنید. نام پیشفرض password است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| آدرس اینترنتی | اختیاری | data-native_password_param="pwd" |
لغو داده روی ضربه زدن به بیرون
این ویژگی تعیین میکند که آیا در صورت کلیک کاربر خارج از محدودهی اعلان، درخواست One Tap لغو شود یا خیر. مقدار پیشفرض true است. برای غیرفعال کردن آن، مقدار را false قرار دهید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-cancel_on_tap_outside="false" |
شناسه-متغیر_والد_داده
این ویژگی، شناسه DOM عنصر کانتینر را تنظیم میکند. اگر تنظیم نشده باشد، اعلان One Tap در گوشه بالا سمت راست پنجره نمایش داده میشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-prompt_parent_id="parent_id" |
کوکی-رد-داده
از یک کوکی برای کنترل نمایش اعلان One Tap استفاده میکند. اگر کوکی مشخص شده توسط این ویژگی دارای مقداری غیر خالی باشد، اعلان نمایش داده نمیشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-skip_prompt_cookie="SID" |
داده-نانوس
این ویژگی یک رشته تصادفی است که توسط توکن ID برای جلوگیری از حملات بازپخش استفاده میشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-nonce="biaqbm70g23" |
طول Nonce به حداکثر اندازه JWT پشتیبانی شده توسط محیط شما و محدودیتهای اندازه HTTP مرورگر و سرور محدود میشود.
زمینه داده
این فیلد متن عنوان و پیامهای نمایش داده شده در اعلان One Tap را تغییر میدهد، برای مرورگرهای ITP تاثیری ندارد. پیشفرض روی signin است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-context="use" |
جدول زیر تمام زمینههای موجود و توضیحات آنها را فهرست میکند:
| زمینه | |
|---|---|
signin | «ورود به» |
signup | «ثبت نام برای» |
use | «استفاده» |
داده-لحظه_فراخوانی
این ویژگی نام تابعِ شنوندهی اعلان وضعیت رابط کاربری سریع (prompt UI status listener) است. برای اطلاعات بیشتر، به نوع دادهی PromptMomentNotification مراجعه کنید.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-moment_callback="logMomentNotification" |
توابع جاوا اسکریپت درون یک فضای نام توسط HTML API پشتیبانی نمیشوند. در عوض، از یک تابع سراسری جاوا اسکریپت بدون فضای نام استفاده کنید. برای مثال، به جای mylibCallback از mylib.callback استفاده کنید.
دامنه کوکی-وضعیت-داده
اگر نیاز دارید که One Tap را در دامنهی والد و زیردامنههای آن نمایش دهید، دامنهی والد را به این ویژگی ارسال کنید تا از یک کوکی با وضعیت مشترک استفاده شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-state_cookie_domain="example.com" |
حالت داده-ux_mode
این ویژگی، جریان UX مورد استفاده توسط دکمه ورود با گوگل را تنظیم میکند. مقدار پیشفرض آن popup است. این ویژگی هیچ تاثیری بر UX با یک لمس ندارد. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-ux_mode="redirect" |
جدول زیر حالتهای UX موجود و توضیحات آنها را فهرست میکند.
| حالت تجربه کاربری | |
|---|---|
popup | جریان تجربه کاربری ورود به سیستم را در یک پنجره بازشو اجرا میکند. |
redirect | جریان تجربه کاربری ورود به سیستم را با تغییر مسیر کامل صفحه انجام میدهد. |
data-allowed_parent_origin
مبداهایی که مجاز به جاسازی iframe میانی هستند. در صورت وجود این ویژگی، One Tap در حالت iframe میانی اجرا میشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته یا آرایه رشتهای | اختیاری | data-allowed_parent_origin="https://example.com" |
جدول زیر انواع مقادیر پشتیبانی شده و توضیحات آنها را فهرست میکند.
| انواع مقادیر | ||
|---|---|---|
string | یک URI دامنه واحد. | «https://example.com» |
string array | فهرستی از URI های دامنه که با کاما از هم جدا شدهاند. | «https://news.example.com، https://local.example.com» |
اگر مقدار ویژگی data-allowed_parent_origin نامعتبر باشد، مقداردهی اولیه One Tap از حالت iframe میانی با شکست مواجه شده و متوقف میشود.
پیشوندهای Wildcard نیز پشتیبانی میشوند. برای مثال، "https://*.example.com" با example.com و زیر دامنههای آن در تمام سطوح (مثلاً news.example.com ، login.news.example.com ) مطابقت دارد. نکاتی که هنگام استفاده از Wildcardها باید در نظر داشته باشید:
- رشتههای الگو نمیتوانند فقط از یک wildcard و یک دامنه سطح بالا تشکیل شوند. برای مثال
https:// .comوhttps:// .co.ukنامعتبر هستند زیرا"https:// .example.com"باexample.comو تمام زیر دامنههای آن مطابقت دارد. برای نمایش دو دامنه مختلف از یک لیست جدا شده با کاما استفاده کنید. برای مثال،"https://example1.com,https:// .example2.com"با دامنههایexample1.com،example2.comو زیر دامنههایexample2.comمطابقت دارد. - دامنههای Wildcard باید با یک طرح امن https:// شروع شوند، بنابراین
"*.example.com"نامعتبر تلقی میشود.
داده-میانجی_iframe_close_callback
وقتی کاربران با ضربه زدن روی دکمه 'X' در رابط کاربری One Tap، به صورت دستی One Tap را میبندند، رفتار پیشفرض iframe میانی را لغو میکند. رفتار پیشفرض این است که iframe میانی را فوراً از DOM حذف کند.
فیلد data-intermediate_iframe_close_callback فقط در حالت iframe میانی اعمال میشود. و فقط روی iframe میانی تأثیر میگذارد، نه روی iframe One Tap. رابط کاربری One Tap قبل از فراخوانی callback حذف میشود.
| نوع | مورد نیاز | مثال |
|---|---|---|
| تابع | اختیاری | data-intermediate_iframe_close_callback="logBeforeClose" |
توابع جاوا اسکریپت درون یک فضای نام توسط HTML API پشتیبانی نمیشوند. در عوض، از یک تابع سراسری جاوا اسکریپت بدون فضای نام استفاده کنید. برای مثال، به جای mylibCallback از mylib.callback استفاده کنید.
پشتیبانی-itp_data
این فیلد تعیین میکند که آیا One Tap UX ارتقا یافته باید در مرورگرهایی که از Intelligent Tracking Prevention (ITP) پشتیبانی میکنند، فعال شود یا خیر. مقدار پیشفرض false است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-itp_support="true" |
راهنمایی-ورود-داده
اگر برنامه شما از قبل بداند که کدام کاربر باید وارد سیستم شود، میتواند یک راهنمای ورود به سیستم به گوگل ارائه دهد. در صورت موفقیت، انتخاب حساب کاربری نادیده گرفته میشود. مقادیر پذیرفته شده عبارتند از: یک آدرس ایمیل یا یک زیر فیلد شناسه.
برای اطلاعات بیشتر، به مستندات OpenID Connect برای login_hint مراجعه کنید.
| نوع | مورد نیاز | مثال |
|---|---|---|
رشته. میتواند یک آدرس ایمیل یا مقدار sub فیلد از توکن شناسه باشد. | اختیاری | data-login_hint="elisa.beckett@gmail.com" |
دیتا-اچدی
وقتی کاربری چندین حساب کاربری دارد و فقط باید با حساب Workspace خود وارد سیستم شود، از این برای ارائه یک اشارهگر نام دامنه به گوگل استفاده کنید. در صورت موفقیت، حسابهای کاربری نمایش داده شده هنگام انتخاب حساب به دامنه ارائه شده محدود میشوند. مقدار wildcard: * فقط حسابهای Workspace را به کاربر ارائه میدهد و حسابهای کاربری (user@gmail.com) را هنگام انتخاب حساب کاربری حذف میکند.
برای اطلاعات بیشتر، به مستندات OpenID Connect برای hd مراجعه کنید.
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته. یک نام دامنه کاملاً واجد شرایط یا *. | اختیاری | data-hd="*" |
استفاده از داده برای اعلان
به مرورگر اجازه دهید تا درخواستهای ورود به سیستم کاربر را کنترل کند و جریان ورود به سیستم را بین وبسایت شما و گوگل میانجیگری کند. مقدار پیشفرض false است. برای اطلاعات بیشتر به صفحه مهاجرت به FedCM مراجعه کنید.
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-use_fedcm_for_prompt="true" |
دکمه-استفاده-از-داده_fedcm_for_button
این فیلد تعیین میکند که آیا باید از رابط کاربری دکمه FedCM در کروم (دسکتاپ M125+ و اندروید M128+) استفاده شود یا خیر. مقدار پیشفرض false است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-use_fedcm_for_button="true" |
انتخاب خودکار دکمه داده
این فیلد تعیین میکند که آیا گزینه انتخاب خودکار برای جریان دکمه FedCM فعال شود یا خیر. در صورت فعال بودن، کاربرانی که دوباره با یک جلسه فعال گوگل وارد سیستم میشوند، به طور خودکار وارد سیستم میشوند و از اعلان انتخاب حساب عبور میکنند. مقدار پیشفرض false است. شما باید ورود خودکار به دکمه را به طور صریح در طول راهاندازی انتخاب فعال کنید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| بولی | اختیاری | data-button_auto_select="true" |
عنصر با کلاس "g_id_signin"
اگر g_id_signin به ویژگی class یک عنصر اضافه کنید، آن عنصر به عنوان یک دکمه ورود با گوگل رندر میشود.
شما میتوانید چندین دکمهی ورود با گوگل را در یک صفحه نمایش دهید. هر دکمه میتواند تنظیمات بصری مخصوص به خود را داشته باشد. این تنظیمات توسط ویژگیهای دادهی زیر تعریف میشوند.
ویژگیهای دادههای بصری
جدول زیر ویژگیهای دادههای بصری و توضیحات آنها را فهرست میکند:
| ویژگی | |
|---|---|
data-type | نوع دکمه: آیکون یا دکمه استاندارد. |
data-theme | تم دکمه. برای مثال، filled_blue یا filled_black. |
data-size | اندازه دکمه. مثلاً کوچک یا بزرگ. |
data-text | متن دکمه. برای مثال، «ورود با گوگل» یا «ثبت نام با گوگل». |
data-shape | شکل دکمه. مثلاً مستطیلی یا دایرهای. |
data-logo_alignment | تراز لوگوی گوگل: چپ یا وسط |
data-width | عرض دکمه، بر حسب پیکسل. |
data-locale | متن دکمه به زبانی که در این ویژگی تنظیم شده است، رندر میشود. |
data-click_listener | اگر تنظیم شود، این تابع زمانی فراخوانی میشود که روی دکمهی ورود با گوگل کلیک شود. |
data-state | در صورت تنظیم، این رشته به همراه توکن شناسه برمیگردد. |
انواع ویژگیها
بخشهای بعدی شامل جزئیاتی در مورد نوع هر ویژگی و یک مثال است.
نوع داده
نوع دکمه. مقدار پیشفرض standard است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | بله | data-type="icon" |
جدول زیر انواع دکمههای موجود و توضیحات آنها را فهرست میکند:
| نوع | |
|---|---|
standard | ![]() ![]() |
icon | |
قالب داده
تم دکمه. مقدار پیشفرض outline است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-theme="filled_blue" |
جدول زیر فهرستی از تمهای موجود و توضیحات آنها را نشان میدهد:
| تم | |
|---|---|
outline | ![]() ![]() |
filled_blue | ![]() ![]() |
filled_black | ![]() ![]() |
اندازه داده
اندازه دکمه. مقدار پیشفرض large است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-size="small" |
جدول زیر اندازههای دکمههای موجود و توضیحات آنها را فهرست میکند.
| اندازه | |
|---|---|
large | ![]() ![]() |
medium | ![]() |
small | ![]() |
متن داده
متن دکمه. مقدار پیشفرض signin_with است. هیچ تفاوت بصری برای متن دکمههای آیکون که ویژگیهای data-text متفاوتی دارند، وجود ندارد. تنها استثنا زمانی است که متن برای دسترسی به صفحه نمایش خوانده میشود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-text="signup_with" |
جدول زیر متنهای دکمههای موجود و توضیحات آنها را فهرست میکند:
| متن | |
|---|---|
signin_with | ![]() |
signup_with | ![]() |
continue_with | ![]() |
signin | ![]() |
شکل داده
شکل دکمه. مقدار پیشفرض rectangular است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-shape="rectangular" |
جدول زیر شکلهای دکمههای موجود و توضیحات آنها را فهرست میکند:
| شکل | |
|---|---|
rectangular | ![]() ![]() icon استفاده شود، مانند square است. |
pill | ![]() ![]() icon استفاده شود، مانند circle است. |
circle | ![]() ![]() standard استفاده شود، همان pill است. |
square | ![]() ![]() standard استفاده شود، همان rectangular است. |
ترازبندی-logo_data
ترازبندی لوگوی گوگل. مقدار پیشفرض left است. این ویژگی فقط برای نوع standard دکمه اعمال میشود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-logo_alignment="center" |
جدول زیر ترازبندیهای موجود و توضیحات آنها را فهرست میکند:
| ترازبندی_لوگو | |
|---|---|
left | ![]() |
center | ![]() |
عرض داده
حداقل عرض دکمه، بر حسب پیکسل. حداکثر عرض موجود ۴۰۰ پیکسل است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-width=400 |
داده-محلی
اختیاری. متن دکمه را با استفاده از زبان مشخص شده نمایش دهید، در غیر این صورت به طور پیشفرض تنظیمات حساب گوگل یا مرورگر کاربر را نمایش دهید. پارامتر hl و کد زبان را هنگام بارگیری کتابخانه به دستورالعمل src اضافه کنید، برای مثال: gsi/client?hl=<iso-639-code> .
اگر تنظیم نشده باشد، زبان پیشفرض مرورگر یا تنظیمات کاربر جلسه گوگل استفاده میشود. بنابراین، کاربران مختلف ممکن است نسخههای متفاوتی از دکمههای محلیشده و احتمالاً با اندازههای مختلف را ببینند.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-locale="zh_CN" |
شنونده-کلیک-داده
شما میتوانید با استفاده از ویژگی data-click_listener یک تابع جاوا اسکریپت تعریف کنید که هنگام کلیک روی دکمه ورود با گوگل فراخوانی شود.
<script>
function onClickHandler(){
console.log("Sign in with Google button clicked...")
}
</script>
.....
<div class="g_id_signin"
data-size="large"
data-theme="outline"
data-click_listener="onClickHandler">
</div>در این مثال، پیام «ورود با دکمه گوگل کلیک شد...» هنگام کلیک بر روی دکمه «ورود با گوگل» در کنسول ثبت میشود.
حالت داده
اختیاری است، از آنجایی که میتوان چندین دکمه ورود با گوگل را در یک صفحه نمایش داد، میتوانید به هر دکمه یک رشته منحصر به فرد اختصاص دهید. همان رشته به همراه توکن شناسه بازگردانده میشود، بنابراین میتوانید تشخیص دهید که کاربر برای ورود روی کدام دکمه کلیک کرده است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
| نوع | مورد نیاز | مثال |
|---|---|---|
| رشته | اختیاری | data-state="button 1" |
ادغام سمت سرور
نقاط پایانی سمت سرور شما باید درخواستهای HTTP POST زیر را مدیریت کنند.
نقطه پایانی کنترل کننده توکن شناسه
نقطه پایانیِ کنترلکنندهی شناسهی توکن، شناسهی توکن را پردازش میکند. بر اساس وضعیت حساب مربوطه، میتوانید کاربر را وارد سیستم کنید و یا او را به صفحهی ثبت نام هدایت کنید یا برای اطلاعات بیشتر او را به صفحهی پیوند حساب هدایت کنید. کلاینتها باید پارامترهای پاسخ ناشناخته را نادیده بگیرند.
یک درخواست نمونه به نقطه ورود شما:
POST /login HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: g_csrf_token=<RANDOM_STRING>
Host: www.example.com
credential=<JWT_ENCODED_ID_TOKEN>&g_csrf_token=<RANDOM_STRING>
درخواست HTTP POST شامل اطلاعات زیر است:
| قالب | نام | توضیحات |
|---|---|---|
| کوکی | g_csrf_token | یک رشته تصادفی که با هر درخواست به نقطه پایانی ورود مشخص شده توسط data-login_uri تغییر میکند، باید با مقدار موجود در پارامتر درخواست g_csrf_token مطابقت داشته باشد. |
| پارامتر درخواست | g_csrf_token | یک رشته تصادفی که با هر درخواست به نقطه پایانی ورود مشخص شده توسط data-login_uri تغییر میکند، باید با مقدار کوکی g_csrf_token مطابقت داشته باشد. |
| پارامتر درخواست | credential | توکن JWT ID کدگذاری شدهای که گوگل صادر میکند. |
| پارامتر درخواست | select_by | نحوه ورود کاربر. |
| پارامتر درخواست | state | این پارامتر فقط زمانی تعریف میشود که کاربر روی دکمهی «ورود با گوگل» کلیک کند تا وارد سیستم شود و ویژگی state دکمه مشخص شده باشد. |
اعتبارنامه
هنگام رمزگشایی ، توکن شناسه مانند مثال زیر به نظر میرسد:
header { "alg": "RS256", "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature "typ": "JWT" } payload { "iss": "https://accounts.google.com", // The JWT's issuer "nbf": 161803398874, "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID "sub": "3141592653589793238", // The unique ID of the user's Google Account "hd": "gmail.com", // If present, the host domain of the user's GSuite email address "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Eliza", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion's creation time "exp": 1596477600, // Unix timestamp of the assertion's expiration time "jti": "abc161803398874def" }
مشتریان باید ادعاهای JWT ناشناخته را نادیده بگیرند.
این sub یک شناسه منحصر به فرد جهانی برای حساب گوگل است. فقط sub به عنوان شناسه برای کاربر استفاده کنید زیرا در بین همه حسابهای گوگل منحصر به فرد است و هرگز دوباره استفاده نمیشود.
با استفاده از فیلدهای email ، email_verified و hd میتوانید تعیین کنید که آیا گوگل میزبان و معتبر برای یک آدرس ایمیل است یا خیر. در مواردی که گوگل معتبر باشد، تأیید میشود که کاربر مالک قانونی حساب است.
مواردی که گوگل معتبر است:
-
emailدارای پسوند@gmail.comاست، این یک حساب Gmail است. -
email_verifiedروی true تنظیم شده وhdهم تنظیم شده است، این یک حساب Google Workspace است.
کاربران میتوانند بدون استفاده از Gmail یا Google Workspace برای حسابهای Google ثبت نام کنند. وقتی email حاوی پسوند @gmail.com نباشد و hd وجود نداشته باشد، گوگل معتبر نیست و روشهای رمز عبور یا سایر روشهای چالشبرانگیز برای تأیید کاربر توصیه میشود. email_verified همچنین میتواند درست باشد زیرا گوگل در ابتدا کاربر را هنگام ایجاد حساب Google تأیید کرده است، با این حال ممکن است مالکیت حساب ایمیل شخص ثالث از آن زمان تغییر کرده باشد.
فیلد exp زمان انقضای لازم برای تأیید توکن در سمت سرور را نشان میدهد. این زمان برای توکن شناسه دریافت شده از ورود با گوگل یک ساعت است. شما باید قبل از زمان انقضا، توکن را تأیید کنید . exp برای مدیریت جلسه استفاده نکنید. منقضی شدن توکن شناسه به معنای خروج کاربر نیست . برنامه شما مسئول مدیریت جلسه کاربران شماست.
g_csrf_token
یک توکن وضعیت ضد جعل. این یک توکن جعل درخواست بین سایتی (CSRF) است که توسط کتابخانه gsi/client ایجاد شده است. یک مقدار تصادفی هم به عنوان کوکی و هم به عنوان پارامتر درخواست در بدنه بار داده POST گنجانده شده است. اگر این دو مقدار هنگام پردازش درخواست روی سرور شما مطابقت نداشته باشند، درخواست باید نامعتبر تلقی شود.
انتخاب_توسط
جدول زیر مقادیر ممکن برای فیلد select_by را فهرست میکند. نوع دکمه مورد استفاده به همراه جلسه و وضعیت رضایت برای تنظیم مقدار استفاده میشوند.
کاربر یا دکمه One Tap یا Sign In With Google را فشار میداد یا از فرآیند ورود خودکار بدون لمس استفاده میکرد.
یک جلسه موجود پیدا شد، یا کاربر یک حساب Google را برای ایجاد یک جلسه جدید انتخاب و وارد سیستم شد.
قبل از به اشتراک گذاشتن اعتبارنامههای توکن شناسایی با برنامه شما، کاربر میتواند یکی از موارد زیر را انجام دهد:
- دکمه تأیید را فشار داده تا رضایت خود را برای اشتراکگذاری اعتبارنامهها اعلام کند، یا
- قبلاً رضایت داده بود و از «انتخاب حساب» برای انتخاب یک حساب Google استفاده کرده بود.
مقدار این فیلد روی یکی از این نوعها تنظیم شده است،
| ارزش | توضیحات |
|---|---|
auto | ورود خودکار کاربری که قبلاً با اشتراکگذاری اعتبارنامهها موافقت کرده است. این قابلیت فقط برای مرورگرهایی که از FedCM پشتیبانی نمیکنند، فعال است. |
user | کاربری که قبلاً رضایت خود را اعلام کرده و دارای یک جلسه کاربری است، با فشردن دکمه «ادامه به عنوان» و فشردن یک ضربه، اطلاعات کاربری خود را به اشتراک گذاشته است. این قابلیت فقط برای مرورگرهایی که از FedCM پشتیبانی نمیکنند، فعال است. |
fedcm | کاربر برای اشتراکگذاری اعتبارنامهها با استفاده از FedCM، دکمهی «ادامه به عنوان» را با یک ضربه فشار داده است. این مورد فقط در مرورگرهای پشتیبانیشده توسط FedCM اعمال میشود. |
fedcm_auto | ورود خودکار کاربری که قبلاً با استفاده از FedCM One Tap رضایت خود را برای اشتراکگذاری اعتبارنامهها اعلام کرده است. این قابلیت فقط برای مرورگرهای پشتیبانیشده توسط FedCM اعمال میشود. |
user_1tap | کاربری که جلسه فعالی داشته، دکمه «ادامه به عنوان» را با یک ضربه فشار داده تا رضایت خود را اعلام کرده و اعتبارنامهها را به اشتراک بگذارد. فقط در Chrome نسخه ۷۵ و بالاتر اعمال میشود. |
user_2tap | کاربری که جلسه کاربری ندارد، دکمه «ادامه به عنوان» را با یک ضربه فشار داده تا یک حساب کاربری انتخاب کند و سپس دکمه تأیید را در یک پنجره بازشو فشار داده تا رضایت خود را اعلام کرده و اعتبارنامهها را به اشتراک بگذارد. این مورد برای مرورگرهای غیر مبتنی بر کرومیوم اعمال میشود. |
itp | کاربری که قبلاً رضایت خود را اعلام کرده بود، دکمهی One Tap را در مرورگرهای ITP فشار داد. |
itp_confirm | کاربری که رضایت نداده بود، دکمه One Tap را در مرورگرهای ITP فشار داد و دکمه «ادامه» را برای دادن رضایت و اشتراکگذاری اعتبارنامهها فشار داد. |
btn | کاربری که قبلاً رضایت خود را اعلام کرده بود، دکمه ورود با گوگل را فشار داد و یک حساب گوگل را از قسمت «انتخاب حساب» برای اشتراکگذاری اعتبارنامه انتخاب کرد. |
btn_confirm | کاربری که رضایت نداده بود، دکمه ورود با گوگل را فشار داد و دکمه «ادامه» را برای دادن رضایت و اشتراکگذاری اطلاعات کاربری فشار داد. |
ایالت
این پارامتر فقط زمانی تعریف میشود که کاربر روی دکمهی ورود با گوگل کلیک کند و ویژگی data-state دکمهی کلیکشده مشخص شده باشد. مقدار این فیلد همان مقداری است که در ویژگی data-state دکمه تعیین کردهاید.
از آنجایی که میتوان چندین دکمه ورود با گوگل را در یک صفحه نمایش داد، میتوانید به هر دکمه یک رشته منحصر به فرد اختصاص دهید. از این رو، میتوانید با استفاده از این پارامتر state مشخص کنید که کاربر برای ورود روی کدام دکمه کلیک کرده است.
نقطه پایانی کنترلکننده اعتبارنامه رمز عبور
نقطه پایانیِ کنترلکنندهی اعتبارنامهی رمز عبور، اعتبارنامههای رمز عبوری را که مدیر اعتبارنامهی داخلی بازیابی میکند، پردازش میکند.
درخواست HTTP POST شامل اطلاعات زیر است:
| قالب | نام | توضیحات |
|---|---|---|
| کوکی | g_csrf_token | یک رشته تصادفی که با هر درخواست به نقطه پایانی ورود مشخص شده توسط data-native_login_uri تغییر میکند، باید با مقدار موجود در پارامتر درخواست g_csrf_token مطابقت داشته باشد. |
| پارامتر درخواست | g_csrf_token | یک رشته تصادفی که با هر درخواست به نقطه پایانی ورود به سیستم مشخص شده توسط data-native_login_uri تغییر میکند، باید با مقدار کوکی g_csrf_token مطابقت داشته باشد. |
| پارامتر درخواست | email | این توکن شناسایی که گوگل صادر میکند. |
| پارامتر درخواست | password | نحوه انتخاب اعتبارنامه. |




















