این صفحه مرجع Sign-In JavaScript API را توصیف می کند. می توانید از این API برای نمایش اعلان One Tap یا دکمه Sign In With Google در صفحات وب خود استفاده کنید.
روش: google.accounts.id.initialize
روش google.accounts.id.initialize
کلاینت Sign In With Google را بر اساس شیء پیکربندی مقداردهی اولیه می کند. نمونه کد زیر را ببینید:
google.accounts.id.initialize(IdConfiguration)
مثال کد زیر متد google.accounts.id.initialize
را با تابع onload
پیاده سازی می کند:
<script>
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
};
</script>
روش google.accounts.id.initialize
یک نمونه کلاینت Sign In With Google ایجاد می کند که می تواند به طور ضمنی توسط همه ماژول ها در یک صفحه وب استفاده شود.
- شما فقط باید یک بار با روش
google.accounts.id.initialize
تماس بگیرید، حتی اگر از چندین ماژول (مانند یک ضربه، دکمه شخصی، لغو، و غیره) در یک صفحه وب استفاده می کنید. - اگر چندین بار با روش
google.accounts.id.initialize
تماس بگیرید، فقط پیکربندی های آخرین تماس به خاطر سپرده می شود و استفاده می شود.
شما در واقع هر زمان که با روش google.accounts.id.initialize
تماس می گیرید، پیکربندی ها را بازنشانی می کنید، و همه روش های بعدی در همان صفحه وب بلافاصله از تنظیمات جدید استفاده می کنند.
نوع داده: IdConfiguration
جدول زیر فیلدها و توضیحات نوع داده IdConfiguration
را فهرست می کند:
میدان | |
---|---|
client_id | شناسه مشتری برنامه شما |
auto_select | انتخاب خودکار را فعال می کند. |
callback | تابع جاوا اسکریپت که توکن های ID را مدیریت می کند. Google One Tap و دکمه Sign With Google popup mode UX از این ویژگی استفاده می کنند. |
login_uri | URL نقطه پایانی ورود شما. دکمه Sign In With Google redirect UX از این ویژگی استفاده می کند. |
native_callback | تابع جاوا اسکریپت که اعتبار رمز عبور را کنترل می کند. |
cancel_on_tap_outside | اگر کاربر خارج از اعلان کلیک کند، درخواست را لغو می کند. |
prompt_parent_id | شناسه DOM عنصر ظرف فرمان One Tap |
nonce | یک رشته تصادفی برای نشانه های ID |
context | عنوان و کلمات در اعلان One Tap |
state_cookie_domain | اگر نیاز به فراخوانی One Tap در دامنه اصلی و زیر دامنه های آن دارید، دامنه والد را به این قسمت منتقل کنید تا از یک کوکی مشترک استفاده شود. |
ux_mode | جریان UX دکمه Sign In With Google |
allowed_parent_origin | مبداهایی که مجاز به جاسازی iframe میانی هستند. در صورت وجود این فیلد، One Tap در حالت iframe میانی اجرا می شود. |
intermediate_iframe_close_callback | وقتی کاربران به صورت دستی One Tap را میبندند، رفتار میانی فریم پیشفرض را لغو میکند. |
itp_support | One Tap UX ارتقا یافته را در مرورگرهای ITP فعال می کند. |
login_hint | با ارائه یک راهنمایی کاربر از انتخاب حساب رد شوید. |
hd | محدود کردن انتخاب حساب بر اساس دامنه |
use_fedcm_for_prompt | به مرورگر اجازه دهید درخواست های ورود به سیستم کاربر را کنترل کند و جریان ورود به سیستم بین وب سایت شما و Google را واسطه کند. |
enable_redirect_uri_validation | جریان تغییر مسیر دکمه را فعال کنید که با قوانین اعتبارسنجی Redirect URI مطابقت دارد. |
client_id
این فیلد شناسه مشتری برنامه شما است که در کنسول Google Cloud پیدا و ایجاد شده است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | بله | client_id: "CLIENT_ID.apps.googleusercontent.com" |
خودکار_انتخاب
این فیلد تعیین میکند که اگر تنها یک جلسه Google وجود داشته باشد که قبلاً برنامه شما را تأیید کرده است، یک رمز شناسه به طور خودکار بدون هیچ گونه تعامل کاربر برگردانده میشود. مقدار پیش فرض false
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | auto_select: true |
پاسخ به تماس
این فیلد تابع جاوا اسکریپت است که رمز شناسه بازگردانده شده از درخواست One Tap یا پنجره پاپ آپ را کنترل می کند. اگر از حالت UX popup
Google One Tap یا دکمه Sign In With Google استفاده شود، این ویژگی ضروری است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | برای یک ضربه و حالت UX popup مورد نیاز است | callback: handleResponse |
login_uri
این ویژگی URI نقطه پایانی ورود شما است.
مقدار باید دقیقاً با یکی از URIهای مجاز تغییر مسیر برای مشتری OAuth 2.0 مطابقت داشته باشد که در کنسول Google Cloud پیکربندی کردهاید و باید با قوانین اعتبارسنجی Redirect URI ما مطابقت داشته باشد.
اگر صفحه فعلی صفحه ورود شما باشد، ممکن است این ویژگی حذف شود، در این صورت اعتبار به طور پیش فرض به این صفحه ارسال می شود.
هنگامی که کاربر روی دکمه Sign In With Google کلیک می کند و از حالت UX تغییر مسیر استفاده می کند، پاسخ اعتبار شناسه رمز ID به نقطه پایانی ورود به سیستم شما ارسال می شود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | اختیاری | مثال |
---|---|---|
URL | به طور پیش فرض URI صفحه فعلی یا مقداری که شما مشخص می کنید. فقط زمانی استفاده می شود که ux_mode: "redirect" تنظیم شده باشد. | login_uri: "https://www.example.com/login" |
نقطه پایانی ورود به سیستم شما باید درخواستهای POST حاوی یک کلید credential
با مقدار رمز شناسه در بدنه را بررسی کند.
در زیر نمونه ای از درخواست برای نقطه پایانی ورود به سیستم شما آمده است:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
native_callback
این فیلد نام تابع جاوا اسکریپت است که اعتبار رمز عبور بازگردانده شده از مدیر اعتبار داخلی مرورگر را کنترل می کند. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | اختیاری | native_callback: handleResponse |
cancel_on_tap_outside
این فیلد تنظیم میکند که اگر کاربر خارج از اعلان کلیک کند، درخواست One Tap لغو شود یا خیر. مقدار پیش فرض true
است. اگر مقدار را روی false
تنظیم کنید، می توانید آن را غیرفعال کنید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | cancel_on_tap_outside: false |
prompt_parent_id
این ویژگی DOM ID عنصر کانتینر را تنظیم می کند. اگر تنظیم نشده باشد، اعلان One Tap در گوشه سمت راست بالای پنجره نمایش داده می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | prompt_parent_id: 'parent_id' |
هیچ
این فیلد یک رشته تصادفی است که توسط شناسه شناسه برای جلوگیری از حملات تکراری استفاده می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | nonce: "biaqbm70g23" |
طول Nonce به حداکثر اندازه JWT پشتیبانی شده توسط محیط شما و محدودیتهای اندازه HTTP مرورگر و سرور محدود میشود.
زمینه
این فیلد متن عنوان و پیام ها را در اعلان One Tap تغییر می دهد. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | context: "use" |
جدول زیر تمام زمینه های موجود و توضیحات آنها را فهرست می کند:
زمینه | |
---|---|
signin | "ورود با گوگل" |
signup | "ثبت نام با گوگل" |
use | "استفاده با گوگل" |
state_cookie_domain
اگر نیاز به نمایش One Tap در دامنه والد و زیر دامنه های آن دارید، دامنه والد را به این قسمت منتقل کنید تا از یک کوکی حالت مشترک استفاده شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | state_cookie_domain: "example.com" |
ux_mode
از این فیلد برای تنظیم جریان UX استفاده شده توسط دکمه Sign In With Google استفاده کنید. مقدار پیش فرض popup
است. این ویژگی هیچ تاثیری بر OneTap UX ندارد. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | ux_mode: "redirect" |
جدول زیر حالت های UX موجود و توضیحات آنها را فهرست می کند.
حالت UX | |
---|---|
popup | جریان UX ورود به سیستم را در یک پنجره بازشو انجام می دهد. |
redirect | جریان UX ورود به سیستم را با تغییر مسیر کامل صفحه انجام می دهد. |
allow_parent_origin
مبداهایی که مجاز به جاسازی iframe میانی هستند. در صورت وجود این فیلد، One Tap در حالت iframe میانی اجرا می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته یا آرایه رشته ای | اختیاری | allowed_parent_origin: "https://example.com" |
جدول زیر انواع مقادیر پشتیبانی شده و توضیحات آنها را فهرست می کند.
انواع ارزش | ||
---|---|---|
string | URI یک دامنه. | "https://example.com" |
string array | آرایه ای از URI های دامنه. | ["https://news.example.com", "https://local.example.com"] |
پیشوندهای Wildcard نیز پشتیبانی می شوند. به عنوان مثال، "https://*.example.com"
با example.com
و زیر دامنههای آن در همه سطوح مطابقت دارد (به عنوان مثال news.example.com
، login.news.example.com
). مواردی که هنگام استفاده از حروف عام باید در نظر داشته باشید:
- رشته های الگو را نمی توان فقط از یک علامت عام و یک دامنه سطح بالا تشکیل داد. برای مثال
https:// .com
وhttps:// .co.uk
نامعتبر هستند. همانطور که در بالا ذکر شد،"https:// .example.com"
باexample.com
و زیر دامنه های آن مطابقت دارد. همچنین می توانید از یک آرایه برای نمایش 2 دامنه مختلف استفاده کنید. برای مثال،["https://example1.com", "https:// .example2.com"]
با دامنه هایexample1.com
،example2.com
و زیر دامنه هایexample2.com
مطابقت دارد. - دامنه های Wildcard باید با یک طرح https:// امن شروع شوند، بنابراین
"*.example.com"
نامعتبر در نظر گرفته می شود.
اگر مقدار فیلد allowed_parent_origin
نامعتبر باشد، مقداردهی اولیه با یک ضربه در حالت iframe میانی شکست می خورد و متوقف می شود.
intermediate_iframe_close_callback
وقتی کاربران بهطور دستی One Tap را با ضربه زدن روی دکمه «X» در رابط کاربری One Tap میبندند، رفتار میانی فریم پیشفرض را لغو میکند. رفتار پیشفرض حذف فوری iframe میانی از DOM است.
قسمت intermediate_iframe_close_callback
فقط در حالت iframe میانی اعمال می شود. و به جای iframe با یک ضربه، فقط بر فریم میانی تأثیر می گذارد. رابط کاربری One Tap قبل از فراخوانی تماس مجدد حذف می شود.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | اختیاری | intermediate_iframe_close_callback: logBeforeClose |
itp_support
این فیلد تعیین می کند که آیا One Tap UX ارتقا یافته باید در مرورگرهایی فعال شود که از پیشگیری از ردیابی هوشمند (ITP) پشتیبانی می کنند یا خیر. مقدار پیش فرض false
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | itp_support: true |
login_hint
اگر برنامه شما از قبل بداند چه کاربری باید وارد سیستم شود، می تواند یک راهنمایی ورود به سیستم به Google ارائه دهد. در صورت موفقیت آمیز بودن، انتخاب حساب حذف می شود. مقادیر پذیرفته شده عبارتند از: یک آدرس ایمیل یا یک مقدار فیلد زیر نشانه شناسه.
برای اطلاعات بیشتر، به قسمت login_hint در اسناد OpenID Connect مراجعه کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته، آدرس ایمیل یا مقدار یک فیلد sub شناسه نشانه. | اختیاری | login_hint: 'elisa.beckett@gmail.com' |
hd
هنگامی که یک کاربر چندین حساب دارد و فقط باید با حساب Workspace خود وارد شود، از این برای ارائه یک اشاره به نام دامنه به Google استفاده کنید. در صورت موفقیت آمیز بودن، حساب های کاربری نمایش داده شده در هنگام انتخاب حساب به دامنه ارائه شده محدود می شود. یک مقدار عام: *
فقط حسابهای Workspace را به کاربر ارائه میدهد و حسابهای مصرفکننده (user@gmail.com) را در هنگام انتخاب حساب مستثنی میکند.
برای اطلاعات بیشتر، فیلد hd را در اسناد OpenID Connect ببینید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته یک نام دامنه کاملا واجد شرایط یا *. | اختیاری | hd: '*' |
use_fedcm_for_prompt
به مرورگر اجازه دهید درخواست های ورود به سیستم کاربر را کنترل کند و جریان ورود به سیستم بین وب سایت شما و Google را واسطه کند. پیش فرض به نادرست. برای اطلاعات بیشتر به صفحه مهاجرت به FedCM مراجعه کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | use_fedcm_for_prompt: true |
enable_redirect_uri_validation
جریان تغییر مسیر دکمه را فعال کنید که با قوانین اعتبارسنجی Redirect URI مطابقت دارد.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | enable_redirect_uri_validation: true |
روش: google.accounts.id.prompt
متد google.accounts.id.prompt
فرمان One Tap یا مدیر اعتبار داخلی مرورگر را پس از فراخوانی متد initialize()
نمایش می دهد. نمونه کد زیر را ببینید:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
به طور معمول، متد prompt()
در بارگذاری صفحه فراخوانی می شود. به دلیل وضعیت جلسه و تنظیمات کاربر در سمت Google، ممکن است رابط کاربری درخواست One Tap نمایش داده نشود. برای دریافت اطلاع از وضعیت رابط کاربری در لحظات مختلف، تابعی را برای دریافت اعلانهای وضعیت رابط کاربری ارسال کنید.
اعلان ها در لحظات زیر شلیک می شوند:
- نمایش لحظه: این پس از فراخوانی متد
prompt()
رخ می دهد. اعلان حاوی یک مقدار بولی است که نشان می دهد رابط کاربری نمایش داده می شود یا خیر. لحظه رد شدن: زمانی اتفاق میافتد که درخواست One Tap با لغو خودکار، لغو دستی، یا زمانی که Google اعتبارنامه صادر نمیکند، مانند زمانی که جلسه انتخابشده از سیستم Google خارج شده است، بسته میشود.
در این موارد، توصیه می کنیم در صورت وجود، به سراغ ارائه دهندگان هویت بعدی بروید.
Dismissed moment: زمانی اتفاق میافتد که Google با موفقیت یک اعتبارنامه را بازیابی کند یا کاربر بخواهد جریان بازیابی اعتبار را متوقف کند. به عنوان مثال، هنگامی که کاربر شروع به وارد کردن نام کاربری و رمز عبور خود در گفتگوی ورود شما می کند، می توانید با متد
google.accounts.id.cancel()
تماس بگیرید تا اعلان One Tap را ببندید و یک لحظه رد شده را فعال کنید.
مثال کد زیر لحظه رد شده را پیاده سازی می کند:
<script>
window.onload = function () {
google.accounts.id.initialize(...);
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// continue with another identity provider.
}
});
};
</script>
نوع داده: PromptMomentNotification
جدول زیر روش ها و توضیحات نوع داده PromptMomentNotification
را فهرست می کند:
روش | |
---|---|
isDisplayMoment() | آیا این اعلان برای یک لحظه نمایش است؟ توجه: وقتی FedCM فعال است، این اعلان اجرا نمی شود. برای اطلاعات بیشتر به صفحه مهاجرت به FedCM مراجعه کنید. |
isDisplayed() | آیا این اعلان برای یک لحظه نمایش است و رابط کاربری نمایش داده می شود؟ توجه: وقتی FedCM فعال است، این اعلان اجرا نمی شود. برای اطلاعات بیشتر به صفحه مهاجرت به FedCM مراجعه کنید. |
isNotDisplayed() | آیا این اعلان برای یک لحظه نمایش است و رابط کاربری نمایش داده نمی شود؟ توجه: وقتی FedCM فعال است، این اعلان اجرا نمی شود. برای اطلاعات بیشتر به صفحه مهاجرت به FedCM مراجعه کنید. |
getNotDisplayedReason() | دلیل دقیق عدم نمایش رابط کاربری مقادیر زیر ممکن است:
|
isSkippedMoment() | آیا این اعلان برای یک لحظه رد شده است؟ |
getSkippedReason() | دلیل دقیق لحظه رد شده. مقادیر زیر ممکن است:
|
isDismissedMoment() | آیا این اعلان برای یک لحظه رد شده است؟ |
getDismissedReason() | دلیل دقیق اخراج مقادیر زیر ممکن است:
|
getMomentType() | یک رشته برای نوع لحظه ای برگردانید. مقادیر زیر ممکن است:
|
نوع داده: CredentialResponse
هنگامی که تابع callback
شما فراخوانی می شود، یک شی CredentialResponse
به عنوان پارامتر ارسال می شود. جدول زیر فیلدهایی را که در شیء پاسخ اعتبار وجود دارد فهرست می کند:
میدان | |
---|---|
credential | این فیلد نشان شناسه برگشتی است. |
select_by | این فیلد نحوه انتخاب اعتبارنامه را تعیین می کند. |
state | این فیلد تنها زمانی تعریف می شود که کاربر برای ورود به سیستم، روی دکمه Sign in with Google کلیک کند و ویژگی state دکمه مشخص شود. |
اعتبار
این فیلد نشانه شناسه به عنوان یک رشته رمزگذاری شده با پایه 64 JSON Web Token (JWT) است.
هنگام رمزگشایی ، JWT مانند مثال زیر به نظر می رسد:
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": "Elisa", "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" }
فیلد sub
یک شناسه جهانی منحصر به فرد برای حساب Google است. فقط از قسمت sub
به عنوان شناسه کاربر استفاده کنید زیرا در بین تمام حسابهای Google منحصربهفرد است و هرگز مجدداً استفاده نشده است. از آدرس ایمیل به عنوان شناسه استفاده نکنید زیرا یک حساب Google می تواند چندین آدرس ایمیل در مقاطع زمانی مختلف داشته باشد.
با استفاده از فیلدهای email
، email_verified
و hd
میتوانید تعیین کنید که آیا Google میزبان آدرس ایمیل است یا خیر. در مواردی که Google معتبر است، تأیید میشود که کاربر مالک قانونی حساب است.
مواردی که گوگل معتبر است:
-
email
دارای پسوند@gmail.com
است، این یک حساب جیمیل است. -
email_verified
درست است وhd
تنظیم شده است، این یک حساب Google Workspace است.
کاربران می توانند بدون استفاده از Gmail یا Google Workspace برای حساب های Google ثبت نام کنند. وقتی email
حاوی پسوند @gmail.com
نیست و hd
وجود ندارد، گوگل معتبر نیست و رمز عبور یا روشهای چالش دیگری برای تأیید کاربر توصیه میشود. email_verfied
همچنین می تواند درست باشد زیرا Google در ابتدا کاربر را هنگام ایجاد حساب Google تأیید کرد، اما مالکیت حساب ایمیل شخص ثالث ممکن است از آن زمان تغییر کرده باشد.
فیلد exp
زمان انقضا را نشان می دهد تا بتوانید رمز را در سمت سرور خود تأیید کنید . برای شناسه شناسه ای که از Sign In With Google گرفته شده است یک ساعت زمان است. باید قبل از زمان انقضا توکن را تأیید کنید . exp
برای مدیریت جلسه استفاده نکنید . نشانه شناسه منقضی شده به این معنی نیست که کاربر از سیستم خارج شده است. برنامه شما مسئول مدیریت جلسه کاربران شما است.
select_by
جدول زیر مقادیر احتمالی فیلد select_by
را فهرست می کند. نوع دکمه استفاده شده همراه با حالت جلسه و رضایت برای تنظیم مقدار استفاده می شود.
کاربر دکمه One Tap یا Sign In With Google را فشار داد یا از فرآیند ورود خودکار بدون لمس استفاده کرد.
یک جلسه موجود پیدا شد، یا کاربر برای ایجاد یک جلسه جدید، یک حساب Google را انتخاب کرده و به سیستم وارد شده است.
قبل از به اشتراک گذاشتن اعتبار شناسه نشانه شناسه با برنامه شما، کاربر یا
- دکمه تأیید را فشار دهید تا رضایت آنها را برای اشتراکگذاری اعتبارنامهها اعلام کنید، یا
- قبلاً رضایت داده بود و از Select an Account برای انتخاب یک حساب Google استفاده کرده بود.
مقدار این فیلد به یکی از این انواع تنظیم می شود
ارزش | توضیحات |
---|---|
auto | ورود خودکار کاربر با یک جلسه موجود که قبلاً رضایت خود را برای اشتراکگذاری اعتبارنامه صادر کرده است. فقط برای مرورگرهایی که از FedCM پشتیبانی نمی کنند اعمال می شود. |
user | کاربری با یک جلسه موجود که قبلاً رضایت داده بود، دکمه «ادامه بهعنوان» با یک ضربه را فشار داد تا اعتبارنامهها را به اشتراک بگذارد. فقط برای مرورگرهایی که از FedCM پشتیبانی نمی کنند اعمال می شود. |
fedcm | یک کاربر دکمه «ادامه به عنوان» با یک ضربه را فشار داد تا اعتبارنامه ها را با استفاده از FedCM به اشتراک بگذارد. فقط برای مرورگرهای پشتیبانی شده از FedCM اعمال می شود. |
fedcm_auto | ورود خودکار کاربر با یک جلسه موجود که قبلاً برای اشتراکگذاری اعتبارنامهها با استفاده از FedCM One Tap رضایت داده است. فقط برای مرورگرهای پشتیبانی شده از FedCM اعمال می شود. |
user_1tap | کاربری با یک جلسه موجود، دکمه «ادامه بهعنوان» با یک ضربه را فشار داد تا رضایت و اعتبار را به اشتراک بگذارد. فقط برای Chrome نسخه 75 و بالاتر اعمال می شود. |
user_2tap | کاربر بدون جلسه موجود، دکمه «ادامه به عنوان» را با یک ضربه فشار داد تا یک حساب را انتخاب کند و سپس دکمه تأیید را در یک پنجره بازشو فشار داد تا رضایت و اعتبار را به اشتراک بگذارد. برای مرورگرهای غیر مبتنی بر Chromium اعمال می شود. |
itp | کاربر با یک جلسه موجود که قبلاً رضایت داده بود، یک ضربه را روی مرورگرهای ITP فشار داد. |
itp_confirm | کاربری با یک جلسه موجود، One Tap را روی مرورگرهای ITP فشار داد و دکمه تأیید را برای اعطای رضایت و اشتراک گذاری اعتبار فشار داد. |
itp_add_session | یک کاربر بدون جلسه موجود که قبلاً رضایت داده بود، برای انتخاب یک حساب Google و اشتراکگذاری اعتبار، روی مرورگرهای ITP یک ضربه را فشار داد. |
itp_confirm_add_session | کاربر بدون جلسه موجود ابتدا یک ضربه را روی مرورگرهای ITP فشار داد تا یک حساب Google را انتخاب کند و سپس دکمه تأیید را برای رضایت و اشتراک گذاری اعتبارنامه ها فشار داد. |
btn | کاربری با یک جلسه موجود که قبلاً رضایت داده بود، دکمه ورود به سیستم با Google را فشار داد و یک حساب Google از «انتخاب یک حساب» برای اشتراکگذاری اعتبارنامهها انتخاب کرد. |
btn_confirm | کاربری با یک جلسه موجود دکمه ورود با Google را فشار داده و دکمه تأیید را فشار داده تا رضایت و اعتبارنامه را به اشتراک بگذارد. |
btn_add_session | کاربری بدون جلسه موجود که قبلاً رضایت داده بود، دکمه ورود به سیستم با Google را فشار داد تا یک حساب Google انتخاب کند و اعتبارنامه را به اشتراک بگذارد. |
btn_confirm_add_session | کاربر بدون جلسه موجود ابتدا دکمه ورود با Google را فشار داد تا یک حساب Google را انتخاب کند و سپس دکمه تأیید را برای رضایت و اشتراک گذاری اعتبارنامه فشار داد. |
دولت
این فیلد تنها زمانی تعریف می شود که کاربر برای ورود به سیستم، روی دکمه Sign in with Google کلیک کند و ویژگی state
دکمه کلیک شده مشخص شود. مقدار این فیلد همان مقداری است که در ویژگی state
دکمه مشخص کرده اید.
از آنجایی که چندین دکمه ورود با Google را می توان در یک صفحه ارائه کرد، می توانید هر دکمه را با یک رشته منحصر به فرد اختصاص دهید. از این رو، میتوانید با این فیلد state
مشخص کنید که کاربر روی کدام دکمه برای ورود به سیستم کلیک کرده است.
روش: google.accounts.id.renderButton
روش google.accounts.id.renderButton
یک دکمه Sign In With Google را در صفحات وب شما ارائه می دهد.
نمونه کد زیر را ببینید:
google.accounts.id.renderButton(
/** @type{!HTMLElement} */ parent,
/** @type{!GsiButtonConfiguration} */ options
)
نوع داده: GsiButtonConfiguration
جدول زیر فیلدها و توضیحات نوع داده GsiButtonConfiguration
را فهرست می کند:
صفت | |
---|---|
type | نوع دکمه: نماد یا دکمه استاندارد. |
theme | تم دکمه. مثلا filled_blue یا filled_black. |
size | اندازه دکمه مثلاً کوچک یا بزرگ. |
text | متن دکمه به عنوان مثال، "Sign in with Google" یا "Sign up with Google". |
shape | شکل دکمه به عنوان مثال، مستطیل یا دایره. |
logo_alignment | تراز آرم Google: چپ یا وسط. |
width | عرض دکمه، بر حسب پیکسل. |
locale | اگر تنظیم شود، زبان دکمه ارائه می شود. |
click_listener | در صورت تنظیم، زمانی که دکمه Sign in with Google کلیک می شود، این تابع فراخوانی می شود. |
state | اگر تنظیم شود، این رشته با کد ID برمی گردد. |
انواع صفات
بخشهای زیر شامل جزئیات مربوط به نوع هر ویژگی و یک مثال است.
نوع
نوع دکمه مقدار پیش فرض standard
است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | بله | type: "icon" |
جدول زیر انواع دکمه های موجود و توضیحات آنها را فهرست می کند:
تایپ کنید | |
---|---|
standard | |
icon |
موضوع
تم دکمه. مقدار پیش فرض outline
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | theme: "filled_blue" |
جدول زیر تم های موجود و توضیحات آنها را فهرست می کند:
موضوع | |
---|---|
outline | |
filled_blue | |
filled_black |
اندازه
اندازه دکمه مقدار پیش فرض large
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | size: "small" |
جدول زیر اندازه دکمه های موجود و توضیحات آنها را فهرست می کند:
اندازه | |
---|---|
large | |
medium | |
small |
متن
متن دکمه مقدار پیش فرض signin_with
است. هیچ تفاوت بصری برای متن دکمههای آیکون که ویژگیهای text
متفاوتی دارند، وجود ندارد. تنها استثنا زمانی است که متن برای دسترسی به صفحه نمایش خوانده شود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | text: "signup_with" |
جدول زیر تمام متن های دکمه موجود و توضیحات آنها را فهرست می کند:
متن | |
---|---|
signin_with | |
signup_with | |
continue_with | |
signin |
شکل
شکل دکمه مقدار پیش فرض rectangular
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | shape: "rectangular" |
جدول زیر اشکال دکمه های موجود و توضیحات آنها را فهرست می کند:
شکل | |
---|---|
rectangular | |
pill | |
circle | |
square |
آرم_تراز
تراز آرم گوگل. مقدار پیش فرض left
است. این ویژگی فقط برای نوع دکمه standard
اعمال می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | logo_alignment: "center" |
جدول زیر ترازهای موجود و توضیحات آنها را فهرست می کند:
آرم_تراز | |
---|---|
left | |
center |
عرض
حداقل عرض دکمه، بر حسب پیکسل. حداکثر عرض 400 پیکسل است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | width: "400" |
محل
اختیاری. متن دکمه را با استفاده از محل مشخص شده نمایش دهید، در غیر این صورت به طور پیش فرض برای تنظیمات حساب Google یا مرورگر کاربران. هنگام بارگیری کتابخانه، پارامتر hl
و کد زبان را به دستورالعمل src اضافه کنید، برای مثال: gsi/client?hl=<iso-639-code>
.
اگر تنظیم نشده باشد، از محلی پیشفرض مرورگر یا اولویت کاربر جلسه Google استفاده میشود. بنابراین، کاربران مختلف ممکن است نسخههای متفاوتی از دکمههای محلیسازی شده و احتمالاً با اندازههای مختلف را ببینند.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | locale: "zh_CN" |
click_listener
شما می توانید یک تابع جاوا اسکریپت را تعریف کنید تا زمانی که دکمه ورود با گوگل کلیک می شود با استفاده از ویژگی click_listener
فراخوانی شود.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
در این مثال، زمانی که دکمه Sign in with Google کلیک می شود، پیام Sign in with Google clicked... به کنسول وارد می شود.
دولت
اختیاری است، از آنجایی که چندین دکمه ورود به سیستم با Google را می توان در همان صفحه ارائه کرد، می توانید هر دکمه را با یک رشته منحصر به فرد اختصاص دهید. همان رشته به همراه رمز شناسه باز می گردد، بنابراین می توانید تشخیص دهید که کاربر روی کدام دکمه کلیک کرده تا وارد شود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | data-state: "button 1" |
نوع داده: اعتبار
هنگامی که تابع native_callback
شما فراخوانی می شود، یک شی Credential
به عنوان پارامتر ارسال می شود. جدول زیر فیلدهای موجود در شی را فهرست می کند:
میدان | |
---|---|
id | کاربر را شناسایی می کند. |
password | رمز عبور |
روش: google.accounts.id.disableAutoSelect
وقتی کاربر از وبسایت شما خارج میشود، باید با روش google.accounts.id.disableAutoSelect
تماس بگیرید تا وضعیت را در کوکیها ثبت کنید. این از یک حلقه مرده UX جلوگیری می کند. قطعه کد زیر را ببینید:
google.accounts.id.disableAutoSelect()
مثال کد زیر متد google.accounts.id.disableAutoSelect
را با تابع onSignout()
پیاده سازی می کند:
<script>
function onSignout() {
google.accounts.id.disableAutoSelect();
}
</script>
روش: google.accounts.id.storeCredential
این متد یک wrapper برای متد store()
از API مدیریت اعتبار داخلی مرورگر است. بنابراین، فقط می توان از آن برای ذخیره اعتبار رمز عبور استفاده کرد. نمونه کد زیر را ببینید:
google.accounts.id.storeCredential(Credential, callback)
مثال کد زیر متد google.accounts.id.storeCredential
را با تابع onSignIn()
پیاده سازی می کند:
<script>
function onSignIn() {
let cred = {id: '...', password: '...'};
google.accounts.id.storeCredential(cred);
}
</script>
روش: google.accounts.id.cancel
اگر درخواست را از DOM طرف متکی حذف کنید، میتوانید جریان یک ضربه را لغو کنید. اگر یک اعتبار قبلاً انتخاب شده باشد، عملیات لغو نادیده گرفته می شود. نمونه کد زیر را ببینید:
google.accounts.id.cancel()
مثال کد زیر متد google.accounts.id.cancel()
را با تابع onNextButtonClicked()
پیاده سازی می کند:
<script>
function onNextButtonClicked() {
google.accounts.id.cancel();
showPasswordPage();
}
</script>
پاسخ به تماس بارگیری کتابخانه: در GoogleLibraryLoad
می توانید یک پاسخ تماس onGoogleLibraryLoad
ثبت کنید. پس از بارگیری کتابخانه جاوا اسکریپت Sign In With Google اطلاع داده می شود:
window.onGoogleLibraryLoad = () => {
...
};
این فراخوان فقط یک میانبر برای پاسخ به تماس window.onload
است. هیچ تفاوتی در رفتار وجود ندارد.
مثال کد زیر یک پاسخ تماس onGoogleLibraryLoad
را پیاده سازی می کند:
<script>
window.onGoogleLibraryLoad = () => {
google.accounts.id.initialize({
...
});
google.accounts.id.prompt();
};
</script>
روش: google.accounts.id.revoke
روش google.accounts.id.revoke
اعطای OAuth را که برای اشتراکگذاری کد شناسه برای کاربر مشخص شده استفاده میشود، باطل میکند. قطعه کد زیر را ببینید: javascript google.accounts.id.revoke(login_hint, callback)
پارامتر | تایپ کنید | توضیحات |
---|---|---|
login_hint | رشته | آدرس ایمیل یا شناسه منحصر به فرد حساب Google کاربر. شناسه ویژگی sub محموله اعتبارنامه است. |
callback | تابع | کنترل کننده اختیاری RevocationResponse . |
نمونه کد زیر نحوه استفاده از روش revoke
را با یک ID نشان می دهد.
google.accounts.id.revoke('1618033988749895', done => { console.log(done.error); });
نوع داده: RevocationResponse
هنگامی که تابع callback
شما فراخوانی می شود، یک شی RevocationResponse
به عنوان پارامتر ارسال می شود. جدول زیر فیلدهایی را که در شیء پاسخ ابطال وجود دارد فهرست می کند:
میدان | |
---|---|
successful | این فیلد مقدار برگشتی فراخوانی متد است. |
error | این فیلد به صورت اختیاری حاوی یک پیام پاسخ خطای مفصل است. |
موفق
این فیلد یک مقدار بولی است که در صورت موفقیت یا نادرست بودن فراخوانی متد revoke در صورت شکست، روی true تنظیم شده است.
خطا
این فیلد یک مقدار رشته است و حاوی یک پیغام خطای دقیق است، اگر فراخوانی روش ابطال ناموفق باشد، در صورت موفقیت تعریف نشده است.
،این صفحه مرجع Sign-In JavaScript API را توصیف می کند. می توانید از این API برای نمایش اعلان One Tap یا دکمه Sign In With Google در صفحات وب خود استفاده کنید.
روش: google.accounts.id.initialize
روش google.accounts.id.initialize
کلاینت Sign In With Google را بر اساس شیء پیکربندی مقداردهی اولیه می کند. نمونه کد زیر را ببینید:
google.accounts.id.initialize(IdConfiguration)
مثال کد زیر متد google.accounts.id.initialize
را با تابع onload
پیاده سازی می کند:
<script>
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
};
</script>
روش google.accounts.id.initialize
یک نمونه کلاینت Sign In With Google ایجاد می کند که می تواند به طور ضمنی توسط همه ماژول ها در یک صفحه وب استفاده شود.
- شما فقط باید یک بار با روش
google.accounts.id.initialize
تماس بگیرید، حتی اگر از چندین ماژول (مانند یک ضربه، دکمه شخصی، لغو، و غیره) در یک صفحه وب استفاده می کنید. - اگر چندین بار با روش
google.accounts.id.initialize
تماس بگیرید، فقط پیکربندی های آخرین تماس به خاطر سپرده می شود و استفاده می شود.
شما در واقع هر زمان که با روش google.accounts.id.initialize
تماس می گیرید، پیکربندی ها را بازنشانی می کنید، و همه روش های بعدی در همان صفحه وب بلافاصله از تنظیمات جدید استفاده می کنند.
نوع داده: IdConfiguration
جدول زیر فیلدها و توضیحات نوع داده IdConfiguration
را فهرست می کند:
میدان | |
---|---|
client_id | شناسه مشتری برنامه شما |
auto_select | انتخاب خودکار را فعال می کند. |
callback | تابع جاوا اسکریپت که توکن های ID را مدیریت می کند. Google One Tap و دکمه Sign With Google popup mode UX از این ویژگی استفاده می کنند. |
login_uri | URL نقطه پایانی ورود شما. دکمه Sign In With Google redirect UX از این ویژگی استفاده می کند. |
native_callback | تابع جاوا اسکریپت که اعتبار رمز عبور را کنترل می کند. |
cancel_on_tap_outside | اگر کاربر خارج از اعلان کلیک کند، درخواست را لغو می کند. |
prompt_parent_id | شناسه DOM عنصر ظرف فرمان One Tap |
nonce | یک رشته تصادفی برای نشانه های ID |
context | عنوان و کلمات در اعلان One Tap |
state_cookie_domain | اگر نیاز به فراخوانی One Tap در دامنه اصلی و زیر دامنه های آن دارید، دامنه والد را به این قسمت منتقل کنید تا از یک کوکی مشترک استفاده شود. |
ux_mode | جریان UX دکمه Sign In With Google |
allowed_parent_origin | مبداهایی که مجاز به جاسازی iframe میانی هستند. در صورت وجود این فیلد، One Tap در حالت iframe میانی اجرا می شود. |
intermediate_iframe_close_callback | وقتی کاربران به صورت دستی One Tap را میبندند، رفتار میانی فریم پیشفرض را لغو میکند. |
itp_support | One Tap UX ارتقا یافته را در مرورگرهای ITP فعال می کند. |
login_hint | با ارائه یک راهنمایی کاربر از انتخاب حساب رد شوید. |
hd | محدود کردن انتخاب حساب بر اساس دامنه |
use_fedcm_for_prompt | به مرورگر اجازه دهید درخواست های ورود به سیستم کاربر را کنترل کند و جریان ورود به سیستم بین وب سایت شما و Google را واسطه کند. |
enable_redirect_uri_validation | جریان تغییر مسیر دکمه را فعال کنید که با قوانین اعتبارسنجی Redirect URI مطابقت دارد. |
client_id
این فیلد شناسه مشتری برنامه شما است که در کنسول Google Cloud پیدا و ایجاد شده است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | بله | client_id: "CLIENT_ID.apps.googleusercontent.com" |
خودکار_انتخاب
این فیلد تعیین میکند که اگر تنها یک جلسه Google وجود داشته باشد که قبلاً برنامه شما را تأیید کرده است، یک رمز شناسه به طور خودکار بدون هیچ گونه تعامل کاربر برگردانده میشود. مقدار پیش فرض false
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | auto_select: true |
پاسخ به تماس
این فیلد تابع جاوا اسکریپت است که رمز شناسه بازگردانده شده از درخواست One Tap یا پنجره پاپ آپ را کنترل می کند. اگر از حالت UX popup
Google One Tap یا دکمه Sign In With Google استفاده شود، این ویژگی ضروری است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | برای یک ضربه و حالت UX popup مورد نیاز است | callback: handleResponse |
login_uri
این ویژگی URI نقطه پایانی ورود شما است.
مقدار باید دقیقاً با یکی از URIهای مجاز تغییر مسیر برای مشتری OAuth 2.0 مطابقت داشته باشد که در کنسول Google Cloud پیکربندی کردهاید و باید با قوانین اعتبارسنجی Redirect URI ما مطابقت داشته باشد.
اگر صفحه فعلی صفحه ورود شما باشد، ممکن است این ویژگی حذف شود، در این صورت اعتبار به طور پیش فرض به این صفحه ارسال می شود.
هنگامی که کاربر روی دکمه Sign In With Google کلیک می کند و از حالت UX تغییر مسیر استفاده می کند، پاسخ اعتبار شناسه رمز ID به نقطه پایانی ورود به سیستم شما ارسال می شود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | اختیاری | مثال |
---|---|---|
URL | به طور پیش فرض URI صفحه فعلی یا مقداری که شما مشخص می کنید. فقط زمانی استفاده می شود که ux_mode: "redirect" تنظیم شده باشد. | login_uri: "https://www.example.com/login" |
نقطه پایانی ورود به سیستم شما باید درخواستهای POST حاوی یک کلید credential
با مقدار رمز شناسه در بدنه را بررسی کند.
در زیر نمونه ای از درخواست برای نقطه پایانی ورود به سیستم شما آمده است:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
native_callback
این فیلد نام تابع جاوا اسکریپت است که اعتبار رمز عبور بازگردانده شده از مدیر اعتبار داخلی مرورگر را کنترل می کند. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | اختیاری | native_callback: handleResponse |
cancel_on_tap_outside
این فیلد تنظیم میکند که اگر کاربر خارج از اعلان کلیک کند، درخواست One Tap لغو شود یا خیر. مقدار پیش فرض true
است. اگر مقدار را روی false
تنظیم کنید، می توانید آن را غیرفعال کنید. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | cancel_on_tap_outside: false |
prompt_parent_id
این ویژگی DOM ID عنصر کانتینر را تنظیم می کند. اگر تنظیم نشده باشد، اعلان One Tap در گوشه سمت راست بالای پنجره نمایش داده می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | prompt_parent_id: 'parent_id' |
هیچ
این فیلد یک رشته تصادفی است که توسط شناسه شناسه برای جلوگیری از حملات تکراری استفاده می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | nonce: "biaqbm70g23" |
طول Nonce به حداکثر اندازه JWT پشتیبانی شده توسط محیط شما و محدودیتهای اندازه HTTP مرورگر و سرور محدود میشود.
زمینه
این فیلد متن عنوان و پیام ها را در اعلان One Tap تغییر می دهد. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | context: "use" |
جدول زیر تمام زمینه های موجود و توضیحات آنها را فهرست می کند:
زمینه | |
---|---|
signin | "ورود با گوگل" |
signup | "ثبت نام با گوگل" |
use | "استفاده با گوگل" |
state_cookie_domain
اگر نیاز به نمایش One Tap در دامنه والد و زیر دامنه های آن دارید، دامنه والد را به این قسمت منتقل کنید تا از یک کوکی حالت مشترک استفاده شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | state_cookie_domain: "example.com" |
ux_mode
از این قسمت برای تنظیم جریان UX استفاده شده توسط Sign With Google استفاده کنید. مقدار پیش فرض popup
است. این ویژگی هیچ تاثیری در ONETAP UX ندارد. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | ux_mode: "redirect" |
در جدول زیر حالت های UX موجود و توضیحات آنها ذکر شده است.
حالت UX | |
---|---|
popup | جریان ورود به سیستم UX را در یک پنجره پاپ آپ انجام می دهد. |
redirect | جریان ورود به سیستم UX را با تغییر مسیر کامل صفحه انجام می دهد. |
مجاز_ورجین مجاز
منشأی که مجاز به تعبیه Iframe میانی هستند. اگر این قسمت موجود باشد ، یک شیر در حالت iframe میانی اجرا می شود. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
آرایه رشته یا رشته | اختیاری | allowed_parent_origin: "https://example.com" |
در جدول زیر انواع ارزش پشتیبانی شده و توضیحات آنها ذکر شده است.
انواع ارزش | ||
---|---|---|
string | یک دامنه URI. | "https://example.com" |
string array | مجموعه ای از Uris دامنه. | ["https://news.example.com", "https://local.example.com"] |
پیشوندهای Wildcard نیز پشتیبانی می شوند. به عنوان مثال ، "https://*.example.com"
به عنوان example.com
و زیر دامنه های آن در همه سطوح مطابقت دارد (به عنوان مثال news.example.com
، login.news.example.com
). مواردی که باید هنگام استفاده از کارتهای وحشی به خاطر بسپارید:
- رشته های الگوی فقط از یک کارت وحشی و یک دامنه سطح بالا نمی توانند تشکیل شوند. به عنوان مثال
https:// .com
وhttps:// .co.uk
نامعتبر هستند. همانطور که در بالا ذکر شد ،"https:// .example.com"
به عنوانexample.com
و زیر دامنه های آن مطابقت دارد. همچنین می توانید از یک آرایه برای نشان دادن 2 حوزه مختلف استفاده کنید. به عنوان مثال ،["https://example1.com", "https:// .example2.com"]
با دامنه هایexample1.com
،example2.com
و زیر دامنه هایexample2.com
مطابقت دارد - دامنه های Wildcard باید با یک طرح امن https: // شروع شود ، و بنابراین
"*.example.com"
نامعتبر است.
اگر مقدار فیلد allowed_parent_origin
نامعتبر باشد ، یک ضربه اولیه از حالت Iframe میانی ضربه می خورد و متوقف می شود.
intermediate_iframe_close_callback
هنگامی که کاربران به صورت دستی با ضربه زدن روی دکمه "X" در یک ضربه به UI ، یک ضربه را می بندند ، رفتار پیش فرض میانی Iframe را نادیده می گیرد. رفتار پیش فرض این است که بلافاصله iframe میانی را از DOM حذف کنید.
قسمت intermediate_iframe_close_callback
فقط در حالت iframe میانی اثر می گذارد. و این فقط به جای آن ضربه ای به iframe واسطه تأثیر می گذارد. One Tap UI قبل از استناد به تماس تلفنی برداشته می شود.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
تابع | اختیاری | intermediate_iframe_close_callback: logBeforeClose |
itp_support
این قسمت تعیین می کند که آیا یک ضربه به UX به روز شده باید در مرورگرهایی فعال شود که از پیشگیری از ردیابی هوشمند (ITP) پشتیبانی می کنند. مقدار پیش فرض false
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | itp_support: true |
login_hint
اگر برنامه شما از قبل می داند کدام کاربر باید وارد سیستم شود ، می تواند یک اشاره ورود به Google را ارائه دهد. هنگام موفقیت ، انتخاب حساب پرش می شود. مقادیر پذیرفته شده عبارتند از: یک آدرس ایمیل یا یک شناسه شناسه Sub Field.
برای اطلاعات بیشتر ، به قسمت login_hint در مستندات OpenID Connect مراجعه کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته ، آدرس ایمیل یا مقدار از یک قسمت sub شناسه شناسه. | اختیاری | login_hint: 'elisa.beckett@gmail.com' |
hd
هنگامی که یک کاربر دارای چندین حساب کاربری است و فقط باید با حساب کاربری فضای کاری خود وارد سیستم شوید ، از این استفاده کنید تا یک نام دامنه به Google ارائه دهد. در صورت موفقیت ، حساب های کاربری نمایش داده شده در هنگام انتخاب حساب محدود به دامنه ارائه شده است. یک مقدار Wildcard: *
فقط حساب های فضای کاری را به کاربر ارائه می دهد و حسابهای مصرف کننده (user@gmail.com) را در هنگام انتخاب حساب حذف می کند.
برای اطلاعات بیشتر ، به قسمت HD در مستندات OpenID Connect مراجعه کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته نام دامنه کاملاً واجد شرایط یا *. | اختیاری | hd: '*' |
use_fedcm_for_prompt
به مرورگر اجازه دهید تا بتوانید ورود به سیستم کاربر را کنترل کرده و جریان ورود به سیستم را بین وب سایت و Google خود واسطه کنید. پیش فرض به نادرست. برای اطلاعات بیشتر به صفحه FEDCM مراجعه کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | use_fedcm_for_prompt: true |
Enable_Redirect_uri_Validation
فعال کردن دکمه تغییر مسیر را که مطابق با قوانین اعتبار سنجی URI هدایت می شود ، فعال کنید.
تایپ کنید | مورد نیاز | مثال |
---|---|---|
بولی | اختیاری | enable_redirect_uri_validation: true |
روش: google.accounts.id.prompt
روش google.accounts.id.prompt
پس از فراخوانی روش initialize()
مدیر ، یک ضربه سریع یا مدیر اعتبارنامه بومی مرورگر را نشان می دهد. به عنوان مثال کد زیر از روش مراجعه کنید:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
به طور معمول ، روش prompt()
در صفحه بار فراخوانی می شود. با توجه به وضعیت جلسه و تنظیمات کاربر در سمت Google ، ممکن است UI یک ضربه ای باشد. برای اطلاع از وضعیت UI برای لحظات مختلف ، یک عملکرد را برای دریافت اعلان های وضعیت UI منتقل کنید.
اعلان ها در لحظات زیر اخراج می شوند:
- لحظه نمایش: این اتفاق پس از فراخوانی روش
prompt()
رخ می دهد. این اعلان حاوی یک مقدار بولی است تا نشان دهد آیا UI نمایش داده می شود یا خیر. Skipped Moment: این اتفاق می افتد که یک ضربه سریع توسط یک لغو خودکار بسته شود ، یک لغو دستی یا هنگامی که گوگل نتواند اعتبار خود را صادر کند ، مانند زمانی که جلسه انتخاب شده از Google امضا کرده است.
در این موارد ، ما توصیه می کنیم در صورت وجود ، به ارائه دهندگان هویت بعدی ادامه دهید.
لحظه برکناری: این اتفاق می افتد که Google با موفقیت یک اعتبار را بازیابی کند یا کاربر می خواهد جلوی جریان بازیابی اعتبار را بگیرد. به عنوان مثال ، هنگامی که کاربر شروع به وارد کردن نام کاربری و رمز عبور خود در گفتگوی ورود به سیستم خود می کند ، می توانید با روش
google.accounts.id.cancel()
تماس بگیرید تا یک ضربه سریع را ببندید و لحظه ای را رد کنید.
مثال کد زیر لحظه پرش را پیاده سازی می کند:
<script>
window.onload = function () {
google.accounts.id.initialize(...);
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// continue with another identity provider.
}
});
};
</script>
نوع داده: PromptMomentNotification
در جدول زیر روش ها و توضیحات مربوط به نوع داده PromptMomentNotification
ذکر شده است:
روش | |
---|---|
isDisplayMoment() | آیا این اعلان برای یک لحظه نمایش است؟ توجه: هنگامی که FEDCM فعال می شود ، این اعلان اخراج نمی شود. برای اطلاعات بیشتر به صفحه FEDCM مراجعه کنید. |
isDisplayed() | آیا این اعلان برای یک لحظه نمایش است و UI نمایش داده می شود؟ توجه: هنگامی که FEDCM فعال می شود ، این اعلان اخراج نمی شود. برای اطلاعات بیشتر به صفحه FEDCM مراجعه کنید. |
isNotDisplayed() | آیا این اعلان برای یک لحظه نمایش است و UI نمایش داده نمی شود؟ توجه: هنگامی که FEDCM فعال می شود ، این اعلان اخراج نمی شود. برای اطلاعات بیشتر به صفحه FEDCM مراجعه کنید. |
getNotDisplayedReason() | دلیل مفصلی که UI نمایش داده نمی شود. موارد زیر مقادیر ممکن است:
|
isSkippedMoment() | آیا این اعلان برای لحظه ای پرش است؟ |
getSkippedReason() | دلیل مفصل برای لحظه پرش. موارد زیر مقادیر ممکن است:
|
isDismissedMoment() | آیا این اعلان برای یک لحظه برکنار شده است؟ |
getDismissedReason() | دلیل مفصل برای برکناری. موارد زیر مقادیر ممکن است:
|
getMomentType() | یک رشته را برای نوع لحظه برگردانید. موارد زیر مقادیر ممکن است:
|
نوع داده ها: اعتبار اعتبار سنجی
هنگامی که از عملکرد callback
شما فراخوانی می شود ، یک شیء CredentialResponse
به عنوان پارامتر منتقل می شود. در جدول زیر زمینه هایی که در شیء پاسخ اعتبار وجود دارد ، لیست می کند:
میدان | |
---|---|
credential | این قسمت نشانه برگشتی است. |
select_by | این قسمت نحوه انتخاب اعتبار را تعیین می کند. |
state | این قسمت فقط زمانی تعریف می شود که کاربر با کلیک بر روی دکمه Google برای ورود به سیستم ، وارد سیستم شود و ویژگی state دکمه مشخص شده است. |
اعتبار
این قسمت Token ID به عنوان یک رشته Web Token (JWT) با رمزگذاری شده Base64 (JWT) است.
هنگام رمزگشایی ، JWT مانند مثال زیر به نظر می رسد:
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": "Elisa", "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" }
زمینه sub
یک شناسه جهانی منحصر به فرد برای حساب Google است. فقط از sub
زمینه به عنوان شناسه برای کاربر استفاده کنید زیرا در بین همه حساب های Google بی نظیر است و هرگز مورد استفاده مجدد قرار نمی گیرد. از آدرس ایمیل به عنوان شناسه استفاده نکنید زیرا یک حساب Google می تواند چندین آدرس ایمیل در نقاط مختلف در زمان داشته باشد.
با استفاده از email
، email_verified
و hd
می توانید تعیین کنید که آیا Google میزبان است و برای یک آدرس ایمیل معتبر است. در مواردی که گوگل معتبر است ، کاربر تأیید می شود که صاحب حساب مشروع است.
مواردی که گوگل معتبر است:
-
email
دارای پسوند@gmail.com
است ، این یک حساب Gmail است. -
email_verified
درست است وhd
تنظیم شده است ، این یک حساب کاربری Google است.
کاربران ممکن است بدون استفاده از GMAIL یا فضای کاری Google برای حساب های Google ثبت نام کنند. هنگامی که email
حاوی یک پسوند @gmail.com
نیست و hd
غایب است معتبر نیست و رمز عبور یا سایر روش های چالش برای تأیید کاربر توصیه می شود. email_verfied
همچنین می تواند صادق باشد زیرا Google در ابتدا کاربر را هنگام ایجاد حساب Google تأیید کرد ، اما مالکیت حساب ایمیل شخص ثالث از آن زمان ممکن است تغییر کرده باشد.
قسمت exp
زمان انقضا را برای شما نشان می دهد تا نشانه را در سمت سرور خود تأیید کنید . یک ساعت برای نشانه شناسه به دست آمده از ورود به سیستم با Google است. شما باید قبل از زمان انقضا نشانه را تأیید کنید . از exp
برای مدیریت جلسه استفاده نکنید . نشانه شناسه منقضی شده به معنای امضاء کاربر نیست . برنامه شما مسئول مدیریت جلسه کاربران شما است.
select_by
در جدول زیر مقادیر ممکن برای قسمت select_by
ذکر شده است. نوع دکمه مورد استفاده در کنار جلسه و حالت رضایت برای تنظیم مقدار استفاده می شود ،
کاربر یا دکمه Google را فشار داده یا وارد سیستم Google شد یا از فرآیند ورود به سیستم خودکار بدون لمس استفاده کرد.
یک جلسه موجود پیدا شد ، یا کاربر برای ایجاد یک جلسه جدید به یک حساب Google انتخاب و امضا کرد.
قبل از به اشتراک گذاری مدارک ID Token با برنامه خود کاربر نیز کاربر
- دکمه تأیید را فشار داد تا رضایت خود را برای به اشتراک گذاری اعتبارنامه اعطا کند ، یا
- قبلاً رضایت داده شده بود و از یک حساب برای انتخاب یک حساب Google استفاده کرده بود.
مقدار این قسمت روی یکی از این نوع ها تنظیم شده است ،
ارزش | توضیحات |
---|---|
auto | ورود خودکار کاربر با یک جلسه موجود که قبلاً رضایت خود را برای اشتراک اعتبارنامه داده بود. فقط برای مرورگرهای پشتیبانی شده غیر FEDCM اعمال می شود. |
user | یک کاربر با یک جلسه موجود که قبلاً رضایت داده بود ، دکمه One Tap "ادامه به عنوان" را برای به اشتراک گذاشتن اعتبارنامه فشار داد. فقط برای مرورگرهای پشتیبانی شده غیر FEDCM اعمال می شود. |
fedcm | کاربر برای به اشتراک گذاشتن اعتبارنامه با استفاده از FEDCM ، دکمه One Taping As As را فشار داد. فقط برای مرورگرهای پشتیبانی شده FEDCM اعمال می شود. |
fedcm_auto | ورود خودکار کاربر با یک جلسه موجود که قبلاً رضایت خود را برای به اشتراک گذاشتن اعتبارنامه با استفاده از شیر FEDCM One دریافت کرده بود. فقط برای مرورگرهای پشتیبانی شده FEDCM اعمال می شود. |
user_1tap | یک کاربر با یک جلسه موجود ، دکمه One Tap "ادامه به عنوان" را برای اعطای رضایت و به اشتراک گذاری اعتبارنامه فشار داد. فقط مربوط به Chrome V75 و بالاتر است. |
user_2tap | یک کاربر بدون جلسه موجود برای انتخاب یک حساب کاربری ، دکمه "ادامه به عنوان" را فشار داد و سپس دکمه تأیید را در یک پنجره پاپ آپ فشار داد تا رضایت و به اشتراک گذاری اعتبار را به شما اعطا کند. در مورد مرورگرهای مبتنی بر غیر کروم اعمال می شود. |
itp | یک کاربر با یک جلسه موجود که قبلاً رضایت داده بود ، یک شیر آب را روی مرورگرهای ITP فشار داد. |
itp_confirm | یک کاربر با یک جلسه موجود ، یک ضربه را روی مرورگرهای ITP فشار داد و دکمه تأیید را برای اعطای رضایت و به اشتراک گذاری اعتبار فشار داد. |
itp_add_session | یک کاربر بدون جلسه موجود که قبلاً رضایت داده بود ، یک ضربه را روی مرورگرهای ITP فشار داد تا یک حساب Google را انتخاب کرده و اعتبار خود را به اشتراک بگذارد. |
itp_confirm_add_session | یک کاربر بدون جلسه موجود ابتدا برای انتخاب یک حساب Google روی مرورگرهای ITP فشار داد و سپس دکمه تأیید را برای رضایت و به اشتراک گذاری اعتبارنامه فشار داد. |
btn | یک کاربر با یک جلسه موجود که قبلاً رضایت داده بود ، با دکمه Google وارد سیستم شد و یک حساب Google را از "انتخاب یک حساب" برای به اشتراک گذاری اعتبار انتخاب کرد. |
btn_confirm | یک کاربر با یک جلسه موجود ، با دکمه Google وارد سیستم شد و دکمه تأیید را فشار داد تا رضایت نامه را اعطا کند و اعتبار خود را به اشتراک بگذارد. |
btn_add_session | کاربر بدون جلسه موجود که قبلاً رضایت داده بود ، با دکمه Google وارد سیستم شد تا یک حساب Google را انتخاب کند و اعتبارنامه را به اشتراک بگذارد. |
btn_confirm_add_session | یک کاربر بدون جلسه موجود ابتدا برای انتخاب یک حساب Google ، با دکمه Google وارد سیستم شد و سپس دکمه تأیید را برای رضایت و به اشتراک گذاری اعتبار فشار داد. |
دولت
این قسمت فقط زمانی تعریف می شود که کاربر با کلیک بر روی دکمه Google برای ورود به سیستم ، وارد سیستم شود و ویژگی state
کلیک شده مشخص شده است. مقدار این قسمت همان مقدار است که در ویژگی state
دکمه مشخص کرده اید.
از آنجا که می توان با دکمه های گوگل در همان صفحه وارد شد ، می توانید هر دکمه را با یک رشته منحصر به فرد اختصاص دهید. از این رو ، می توانید این قسمت state
را مشخص کنید که کاربر برای ورود به سیستم کلیک کنید.
روش: google.accounts.id.RenderButton
روش google.accounts.id.renderButton
با دکمه Google در صفحات وب شما علامت گذاری می کند.
به عنوان مثال کد زیر از روش مراجعه کنید:
google.accounts.id.renderButton(
/** @type{!HTMLElement} */ parent,
/** @type{!GsiButtonConfiguration} */ options
)
نوع داده: GsibuttonConfiguration
در جدول زیر زمینه ها و توضیحات مربوط به نوع داده GsiButtonConfiguration
ذکر شده است:
صفت | |
---|---|
type | نوع دکمه: نماد یا دکمه استاندارد. |
theme | موضوع دکمه به عنوان مثال ، fleed_blue یا fleed_black. |
size | اندازه دکمه به عنوان مثال ، کوچک یا بزرگ. |
text | متن دکمه به عنوان مثال ، "ورود به سیستم با Google" یا "ثبت نام با Google". |
shape | شکل دکمه به عنوان مثال ، مستطیل یا دایره ای. |
logo_alignment | تراز آرم Google: سمت چپ یا مرکز. |
width | عرض دکمه ، در پیکسل ها. |
locale | در صورت تنظیم ، زبان دکمه ارائه می شود. |
click_listener | در صورت تنظیم ، این عملکرد هنگام کلیک روی دکمه Google با کلیک بر روی Google ، نامیده می شود. |
state | در صورت تنظیم ، این رشته با نشانه شناسه باز می گردد. |
انواع صفات
بخش های زیر حاوی جزئیات مربوط به نوع هر نوع ویژگی و یک مثال است.
نوع
نوع دکمه مقدار پیش فرض standard
است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | بله | type: "icon" |
در جدول زیر انواع دکمه های موجود و توضیحات آنها ذکر شده است:
تایپ کنید | |
---|---|
standard | |
icon |
موضوع
موضوع دکمه مقدار پیش فرض outline
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | theme: "filled_blue" |
در جدول زیر مضامین موجود و توضیحات آنها ذکر شده است:
موضوع | |
---|---|
outline | |
filled_blue | |
filled_black |
اندازه
اندازه دکمه مقدار پیش فرض large
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | size: "small" |
در جدول زیر اندازه دکمه های موجود و توضیحات آنها ذکر شده است:
اندازه | |
---|---|
large | |
medium | |
small |
متن
متن دکمه مقدار پیش فرض signin_with
است. هیچ تفاوت بصری برای متن دکمه های نماد که دارای text
های متفاوتی هستند وجود ندارد. تنها استثناء وقتی متن برای دسترسی به صفحه خوانده می شود.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | text: "signup_with" |
در جدول زیر تمام متون دکمه موجود و توضیحات آنها لیست شده است:
متن | |
---|---|
signin_with | |
signup_with | |
continue_with | |
signin |
شکل
شکل دکمه مقدار پیش فرض rectangular
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | shape: "rectangular" |
در جدول زیر شکل های دکمه موجود و توضیحات آنها ذکر شده است:
شکل | |
---|---|
rectangular | |
pill | |
circle | |
square |
logo_alignment
تراز آرم Google. مقدار پیش فرض left
است. این ویژگی فقط مربوط به نوع دکمه standard
است. برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | logo_alignment: "center" |
در جدول زیر ترازهای موجود و توضیحات آنها ذکر شده است:
logo_alignment | |
---|---|
left | |
center |
عرض
حداقل عرض دکمه ، در پیکسل ها. حداکثر عرض 400 پیکسل است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | width: "400" |
محل
اختیاری. متن دکمه نمایش را با استفاده از محل مشخص شده ، در غیر این صورت به طور پیش فرض برای کاربران Google Account یا تنظیمات مرورگر پیش فرض کنید. هنگام بارگیری کتابخانه ، پارامتر hl
و کد زبان را به دستورالعمل SRC اضافه کنید ، به عنوان مثال: gsi/client?hl=<iso-639-code>
.
اگر تنظیم نشده باشد ، از محل پیش فرض مرورگر یا ترجیح کاربر Google Session استفاده می شود. بنابراین ، کاربران مختلف ممکن است نسخه های مختلفی از دکمه های بومی سازی شده و احتمالاً با اندازه های مختلف را ببینند.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | locale: "zh_CN" |
click_listener
می توانید یک تابع JavaScript را تعریف کنید که هنگام کلیک بر روی دکمه Google با استفاده از ویژگی click_listener
کلیک کنید.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
در این مثال ، با کلیک بر روی دکمه Google ، با کلیک بر روی دکمه Google ، وارد کنسول می شود.
دولت
اختیاری ، از آنجا که می توان با دکمه های Google در همان صفحه وارد سیستم شد ، می توانید هر دکمه را با یک رشته منحصر به فرد اختصاص دهید. همین رشته به همراه نشانه شناسه باز می گردد ، بنابراین می توانید مشخص کنید که کاربر دکمه برای ورود به سیستم کلیک کرده است.
برای اطلاعات بیشتر به جدول زیر مراجعه کنید:
تایپ کنید | مورد نیاز | مثال |
---|---|---|
رشته | اختیاری | data-state: "button 1" |
نوع داده: اعتبارنامه
هنگامی که عملکرد native_callback
شما فراخوانی می شود ، یک شیء Credential
به عنوان پارامتر منتقل می شود. در جدول زیر زمینه های موجود در شی ذکر شده است:
میدان | |
---|---|
id | کاربر را شناسایی می کند. |
password | رمز عبور |
روش: google.accounts.id.disableautoselect
وقتی کاربر از وب سایت شما خارج شد ، برای ثبت وضعیت در کوکی ها باید با روش google.accounts.id.disableAutoSelect
تماس بگیرید. این مانع از یک حلقه مرده UX می شود. قطعه کد زیر روش را مشاهده کنید:
google.accounts.id.disableAutoSelect()
مثال کد زیر روش google.accounts.id.disableAutoSelect
را با عملکرد onSignout()
اجرا می کند:
<script>
function onSignout() {
google.accounts.id.disableAutoSelect();
}
</script>
روش: google.accounts.id.storecredential
این روش یک بسته بندی برای store()
روش مدیر اعتبارنامه بومی مرورگر API است. بنابراین ، فقط می تواند برای ذخیره اعتبار رمز عبور استفاده شود. به عنوان مثال کد زیر از روش مراجعه کنید:
google.accounts.id.storeCredential(Credential, callback)
مثال کد زیر روش google.accounts.id.storeCredential
را با عملکرد onSignIn()
اجرا می کند:
<script>
function onSignIn() {
let cred = {id: '...', password: '...'};
google.accounts.id.storeCredential(cred);
}
</script>
روش: google.accounts.id.cancel
در صورت حذف سریع از DOM PARTY ، می توانید جریان شیر را لغو کنید. در صورت انتخاب اعتبار ، عملیات لغو نادیده گرفته می شود. به عنوان مثال کد زیر از روش مراجعه کنید:
google.accounts.id.cancel()
مثال کد زیر روش google.accounts.id.cancel()
را با عملکرد onNextButtonClicked()
پیاده سازی می کند:
<script>
function onNextButtonClicked() {
google.accounts.id.cancel();
showPasswordPage();
}
</script>
پاسخ به تماس بار کتابخانه: Ongooglelibraryload
می توانید یک پاسخ به تماس onGoogleLibraryLoad
را ثبت کنید. پس از بارگیری در کتابخانه Google JavaScript ، این اطلاع داده می شود:
window.onGoogleLibraryLoad = () => {
...
};
این پاسخ به تماس فقط یک میانبر برای پاسخ window.onload
است. هیچ تفاوتی در رفتار وجود ندارد.
مثال کد زیر یک پاسخ به تماس onGoogleLibraryLoad
را پیاده سازی می کند:
<script>
window.onGoogleLibraryLoad = () => {
google.accounts.id.initialize({
...
});
google.accounts.id.prompt();
};
</script>
روش: google.accounts.id.revoke
روش google.accounts.id.revoke
کمک مالی OAUTH را که برای به اشتراک گذاشتن توکن شناسه برای کاربر مشخص شده استفاده می شود ، ابطال می کند. قطعه کد زیر را از روش مشاهده کنید: javascript google.accounts.id.revoke(login_hint, callback)
پارامتر | تایپ کنید | توضیحات |
---|---|---|
login_hint | رشته | آدرس ایمیل یا شناسه منحصر به فرد حساب Google کاربر. شناسه ، دارایی sub بار اعتبار است. |
callback | تابع | کنترل کننده اختیاری RevocationResponse . |
نمونه کد زیر نشان می دهد که چگونه از روش revoke
با شناسه استفاده کنید.
google.accounts.id.revoke('1618033988749895', done => { console.log(done.error); });
نوع داده: ابطال پاسخ
هنگامی که عملکرد callback
شما فراخوانی می شود ، یک شیء RevocationResponse
به عنوان پارامتر منتقل می شود. در جدول زیر زمینه هایی که در شیء پاسخ ابطال موجود است لیست شده است:
میدان | |
---|---|
successful | این قسمت مقدار برگشتی فراخوانی روش است. |
error | این قسمت به صورت اختیاری حاوی یک پیام پاسخ خطای دقیق است. |
موفق
این قسمت یک مقدار بولی است که در صورت عدم موفقیت روش ابطال یا نادرست در عدم موفقیت ، درست تنظیم شده است.
خطا
این قسمت یک مقدار رشته ای است و در صورت عدم موفقیت روش ابطال ، پیام خطای مفصلی دارد ، در مورد موفقیت تعریف نشده است.