الوصف
استخدِم واجهة برمجة التطبيقات chrome.identity
للحصول على رموز الدخول عبر OAuth2.
الأذونات
identity
الأنواع
AccountInfo
أماكن إقامة
-
id
سلسلة
معرّف فريد للحساب لن يتغيّر هذا المعرّف طوال فترة بقاء الحساب.
AccountStatus
Enum
"SYNC"
يحدد هذا الخيار أن المزامنة مفعّلة للحساب الأساسي.
"أيني"
يحدد هذا الحقل وجود حساب أساسي، إن وجد.
GetAuthTokenResult
أماكن إقامة
-
grantedScopes
string[] اختيارية
قائمة بنطاقات OAuth2 التي تم منحها للإضافة.
-
رمز مميز
سلسلة اختيارية
الرمز المميّز المحدّد المرتبط بالطلب.
InvalidTokenDetails
أماكن إقامة
-
رمز مميز
سلسلة
الرمز المميز المحدد الذي يجب إزالته من ذاكرة التخزين المؤقت.
ProfileDetails
أماكن إقامة
-
accountStatus
AccountStatus اختيارية
حالة الحساب الأساسي الذي تم تسجيل الدخول إليه باستخدام ملف شخصي يجب إرجاع
ProfileUserInfo
إليه. يتم ضبط القيمة التلقائية على حالة حسابSYNC
.
ProfileUserInfo
أماكن إقامة
-
بريد إلكتروني
سلسلة
عنوان بريد إلكتروني لحساب المستخدم الذي تم تسجيل الدخول إليه في الملف الشخصي الحالي. يكون هذا الحقل فارغًا إذا لم يكن المستخدم مسجّلاً الدخول أو لم يتم تحديد إذن بيان "
identity.email
". -
id
سلسلة
معرّف فريد للحساب ولن يتغيّر هذا المعرّف طوال فترة بقاء الحساب. يكون هذا الحقل فارغًا إذا لم يكن المستخدم مسجّلاً الدخول أو (في الإصدار M41 والإصدارات الأحدث) لم يتم تحديد إذن ملف البيان "
identity.email
".
TokenDetails
أماكن إقامة
-
الحساب
AccountInfo اختيارية
رقم تعريف الحساب الذي يجب عرض الرمز المميّز الخاص به إذا لم يتم تحديد ذلك، ستستخدم الدالة حسابًا من ملف Chrome الشخصي: حساب المزامنة إن كان متوفرًا، أو حساب الويب الأول على Google.
-
enableGranularPermissions
قيمة منطقية اختيارية
الإصدار 87 من Chrome أو الإصدارات الأحدثتتيح العلامة
enableGranularPermissions
للإضافات الموافقة مبكرًا على شاشة الموافقة على الأذونات الدقيقة، والتي يتم فيها منح الأذونات المطلوبة أو رفضها بشكل فردي. -
تفاعلي
قيمة منطقية اختيارية
قد يتطلب استرجاع رمز مميّز من المستخدم تسجيل الدخول إلى Chrome أو الموافقة على النطاقات المطلوبة للتطبيق. إذا كانت العلامة التفاعلية
true
، سيطلبgetAuthToken
من المستخدم حسب الضرورة. عندما تكون العلامةfalse
أو تم حذفها، ستعرض السمةgetAuthToken
تعذُّر الإجراء في أي وقت يكون فيه الطلب مطلوبًا. -
النطاقات
string[] اختيارية
قائمة بنطاقات OAuth2 المطلوب طلبها.
عند توفّر الحقل
scopes
، يتم إلغاء قائمة النطاقات المحدّدة في ملف البيان.json.
WebAuthFlowDetails
أماكن إقامة
-
abortOnLoadForNonInteractive
قيمة منطقية اختيارية
الإصدار 113 من Chrome أو الإصدارات الأحدثيمكنك اختيار ما إذا كنت تريد إنهاء
launchWebAuthFlow
للطلبات غير التفاعلية بعد تحميل الصفحة. ولا تؤثر هذه المعلمة في التدفقات التفاعلية.عند ضبط هذه السياسة على
true
(الخيار التلقائي)، سيتم إنهاء المسار فورًا بعد تحميل الصفحة. عند ضبط السياسة علىfalse
، لن ينتهي المسار إلا بعد اجتيازtimeoutMsForNonInteractive
. يفيد ذلك موفّري الهوية الذين يستخدمون JavaScript لتنفيذ عمليات إعادة التوجيه بعد تحميل الصفحة. -
تفاعلي
قيمة منطقية اختيارية
تحديد ما إذا كان سيتم إطلاق مسار المصادقة في وضع التفاعل.
وبما أنّ بعض مسارات المصادقة قد تعيد التوجيه مباشرةً إلى عنوان URL لنتيجة البحث، يخفي
launchWebAuthFlow
طريقة عرضه على الويب إلى أن تتم عملية التنقّل الأولى إما بإعادة التوجيه إلى عنوان URL النهائي أو انتهاء تحميل صفحة سيتم عرضها.إذا كانت قيمة علامة
interactive
هيtrue
، سيتم عرض النافذة عند اكتمال تحميل الصفحة. إذا كانت العلامةfalse
أو تم حذفها، سيتم عرضlaunchWebAuthFlow
مع ظهور خطأ إذا لم يكتمل التنقّل الأولي التدفق.بالنسبة إلى التدفقات التي تستخدم JavaScript لإعادة التوجيه، يمكن ضبط
abortOnLoadForNonInteractive
علىfalse
مع الإعدادtimeoutMsForNonInteractive
لمنح الصفحة فرصة إجراء أي عمليات إعادة توجيه. -
timeoutMsForNonInteractive
الرقم اختياري
الإصدار 113 من Chrome أو الإصدارات الأحدثالحد الأقصى للوقت بالمللي ثانية، الذي يُسمح له بتشغيل
launchWebAuthFlow
في وضع غير تفاعلي إجمالاً. لن يكون له أي تأثير إلا إذا كانت قيمةinteractive
هيfalse
. -
url
سلسلة
عنوان URL الذي يبدأ مسار المصادقة.
الطُرق
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
إعادة ضبط حالة Identity API:
- إزالة جميع رموز الدخول عبر OAuth2 من ذاكرة التخزين المؤقت للرمز المميز
- يزيل إعدادات حساب المستخدم المفضّلة
- يؤدي إلى إلغاء تفويض المستخدم من جميع مسارات المصادقة
المعلمات
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 106 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
لاسترداد قائمة بكائنات AccountInfo التي تصف الحسابات المتوفّرة في الملف الشخصي.
لا يتوافق "getAccounts
" إلا مع قناة مطوّري البرامج.
المعلمات
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(accounts: AccountInfo[]) => void
-
حسابات
-
المرتجعات
-
Promise<AccountInfo[]>
لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
يمكن الحصول على رمز دخول OAuth2 باستخدام معرِّف العميل والنطاقات المحدّدة في القسم oauth2
من ملف robots.json.
تخزِّن Identity API رموز الدخول مؤقتًا في الذاكرة، وبالتالي يمكنك استدعاء getAuthToken
بشكل غير تفاعلي في أي وقت تحتاج فيه إلى رمز مميّز. تعالج ذاكرة التخزين المؤقت للرمز المميّز انتهاء الصلاحية تلقائيًا.
لتقديم تجربة جيدة للمستخدمين، من المهم تقديم طلبات الرموز المميّزة التفاعلية من خلال واجهة المستخدم في تطبيقك لتوضيح الغرض من التفويض. وسيؤدي عدم تنفيذ ذلك إلى حصول المستخدمين على طلبات تفويض أو شاشات تسجيل الدخول إلى Chrome في حال عدم تسجيلهم الدخول، بدون سياق. وعلى وجه التحديد، لا تستخدم getAuthToken
بشكل تفاعلي عند إطلاق تطبيقك لأول مرة.
ملاحظة: عند استدعائها باستخدام استدعاء، ستعرض هذه الدالة السمتين كوسيطات منفصلة يتم تمريرها إلى رد الاتصال، بدلاً من عرض كائن.
المعلمات
-
التفاصيل
TokenDetails اختياري
خيارات الرمز المميّز.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: GetAuthTokenResult) => void
-
نتيجةالإصدار 105 من Chrome أو الإصدارات الأحدث
-
المرتجعات
-
Promise<GetAuthTokenResult>
الإصدار 105 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
يسترد عنوان البريد الإلكتروني ورقم تعريف GAIA المبهم للمستخدم الذي سجَّل الدخول إلى الملف الشخصي.
يجب الحصول على إذن البيان "identity.email
". بخلاف ذلك، يتم عرض نتيجة فارغة.
تختلف واجهة برمجة التطبيقات هذه عن Identity.getAccounts بطريقتين. وتكون المعلومات التي تم عرضها متاحة بلا اتصال بالإنترنت، ولا تنطبق إلا على الحساب الأساسي للملف الشخصي.
المعلمات
-
التفاصيل
ProfileDetails اختياري
الإصدار 84 من Chrome أو الإصدارات الأحدثخيارات الملف الشخصي.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(userInfo: ProfileUserInfo) => void
-
userInfo
-
المرتجعات
-
Promise<ProfileUserInfo>
الإصدار 106 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
)
إنشاء عنوان URL لإعادة التوجيه لاستخدامه في launchWebAuthFlow
تتطابق عناوين URL التي تم إنشاؤها مع النمط https://<app-id>.chromiumapp.org/*
.
المعلمات
-
المسار
سلسلة اختيارية
المسار الذي تم إلحاقه بنهاية عنوان URL الذي تم إنشاؤه.
المرتجعات
-
سلسلة
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
لبدء مسار المصادقة على عنوان URL المحدّد
تفعِّل هذه الطريقة مسارات المصادقة مع موفري الهوية غير التابعين لـ Google من خلال تشغيل ملف شخصي للويب وانتقاله إلى عنوان URL الأول في مسار المصادقة لموفّر الخدمة. عندما يعيد موفّر الخدمة التوجيه إلى عنوان URL يطابق النمط https://<app-id>.chromiumapp.org/*
، سيتم إغلاق النافذة وتمرير عنوان URL النهائي لإعادة التوجيه إلى الدالة callback
.
لتقديم تجربة جيدة للمستخدمين، من المهم بدء مسارات مصادقة تفاعلية من خلال واجهة المستخدم داخل تطبيقك لتوضيح الغرض من التفويض. وسيؤدي عدم تنفيذ ذلك إلى حصول المستخدمين على طلبات تفويض بدون سياق. وعلى وجه الخصوص، يجب عدم بدء مسار مصادقة تفاعلي عند تشغيل تطبيقك لأول مرة.
المعلمات
-
التفاصيل
خيارات مسار WebAuth.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(responseUrl?: string) => void
-
responseUrl
سلسلة اختيارية
-
المرتجعات
-
وعود<string | غير محددة>
الإصدار 106 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
إزالة رمز الدخول OAuth2 من ذاكرة التخزين المؤقت للرمز المميز لواجهة Identity API.
إذا تم اكتشاف أن رمز الدخول غير صالح، يجب تمريره إلى removecachedAuthToken لإزالته من ذاكرة التخزين المؤقت. قد يسترد التطبيق بعد ذلك رمزًا مميّزًا جديدًا من خلال getAuthToken
.
المعلمات
-
التفاصيل
معلومات الرمز المميّز
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 106 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
فعاليات
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
يتم إطلاقه عند تغيير حالة تسجيل الدخول لحساب في الملف الشخصي للمستخدم.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(account: AccountInfo, signedIn: boolean) => void
-
الحساب
-
signedIn
منطقي
-