شرح
از chrome.identity
API برای دریافت نشانه های دسترسی OAuth2 استفاده کنید.
مجوزها
identity
انواع
AccountInfo
خواص
- شناسه
رشته
یک شناسه منحصر به فرد برای حساب. این شناسه در طول عمر حساب تغییر نخواهد کرد.
AccountStatus
Enum
"همگام سازی" "هر"
مشخص می کند که همگام سازی برای حساب اصلی فعال است.
وجود یک حساب اصلی را در صورت وجود مشخص می کند.
GetAuthTokenResult
خواص
- grantedScopes
رشته[] اختیاری است
فهرستی از دامنه های OAuth2 که به برنامه افزودنی اعطا شده است.
- نشانه
رشته اختیاری
توکن خاص مرتبط با درخواست.
InvalidTokenDetails
خواص
- نشانه
رشته
توکن خاصی که باید از کش حذف شود.
ProfileDetails
خواص
- وضعیت حساب
وضعیت حساب اختیاری است
وضعیت حساب اصلی وارد شده به نمایه ای که
ProfileUserInfo
باید برگردانده شود. پیشفرض وضعیت حسابSYNC
.
ProfileUserInfo
خواص
- پست الکترونیک
رشته
یک آدرس ایمیل برای حساب کاربری وارد شده به نمایه فعلی. اگر کاربر وارد سیستم نشده باشد یا مجوز مانیفست
identity.email
مشخص نشده باشد، خالی است. - شناسه
رشته
یک شناسه منحصر به فرد برای حساب. این شناسه در طول عمر حساب تغییر نخواهد کرد. اگر کاربر وارد سیستم نشده باشد یا (در M41+) مجوز مانیفست
identity.email
مشخص نشده باشد، خالی است.
TokenDetails
خواص
- حساب
AccountInfo اختیاری است
شناسه حسابی که توکن آن باید برگردانده شود. اگر مشخص نشده باشد، این عملکرد از یک حساب از نمایه Chrome استفاده می کند: در صورت وجود حساب همگام سازی یا در غیر این صورت اولین حساب وب Google.
- enableGranularPermissions
بولی اختیاری
Chrome 87+پرچم
enableGranularPermissions
به برنامههای افزودنی اجازه میدهد تا زودتر در صفحه رضایت مجوزهای گرانول شرکت کنند، که در آن مجوزهای درخواستی به صورت جداگانه اعطا یا رد میشوند. - در ارتباط بودن
بولی اختیاری
واکشی نشانه ممکن است نیاز به ورود کاربر به Chrome داشته باشد یا محدوده درخواستی برنامه را تأیید کند. اگر پرچم تعاملی
true
باشد،getAuthToken
در صورت لزوم از کاربر درخواست می کند. هنگامی که پرچمfalse
است یا حذف می شود،getAuthToken
هر زمان که درخواستی لازم باشد، شکست را برمی گرداند. - دامنه ها
رشته[] اختیاری است
لیستی از دامنه های OAuth2 برای درخواست.
هنگامی که فیلد
scopes
وجود دارد، فهرست دامنه های مشخص شده در manifest.json را لغو می کند.
WebAuthFlowDetails
خواص
- abortOnLoadForNonInteractive
بولی اختیاری
Chrome 113+خاتمه دادن به
launchWebAuthFlow
برای درخواستهای غیرتعاملی پس از بارگیری صفحه. این پارامتر بر جریان های تعاملی تأثیر نمی گذارد.وقتی روی
true
(پیشفرض) تنظیم شود، جریان بلافاصله پس از بارگیری صفحه پایان مییابد. هنگامی که رویfalse
تنظیم شود، جریان فقط پس از گذشتن ازtimeoutMsForNonInteractive
خاتمه می یابد. این برای ارائه دهندگان هویت که از جاوا اسکریپت برای انجام تغییر مسیرها پس از بارگیری صفحه استفاده می کنند مفید است. - در ارتباط بودن
بولی اختیاری
آیا برای راهاندازی جریان اعتبار در حالت تعاملی.
از آنجایی که برخی از جریانهای اعتبار ممکن است فوراً به URL نتیجه هدایت شوند،
launchWebAuthFlow
نمای وب خود را تا زمانی که اولین پیمایش به URL نهایی هدایت شود یا بارگذاری صفحهای که قرار است نمایش داده شود به پایان برسد پنهان میکند.اگر پرچم
interactive
true
باشد، وقتی بارگیری صفحه کامل شد، پنجره نمایش داده می شود. اگر پرچمfalse
یا حذف شده باشد،launchWebAuthFlow
با خطا برمی گردد اگر پیمایش اولیه جریان را کامل نکند.برای جریانهایی که از جاوا اسکریپت برای تغییر مسیر استفاده میکنند،
abortOnLoadForNonInteractive
میتوان رویfalse
در ترکیب با تنظیمtimeoutMsForNonInteractive
تنظیم کرد تا به صفحه فرصتی برای انجام هرگونه تغییر مسیر داده شود. - timeoutMsForNonInteractive
شماره اختیاری
Chrome 113+حداکثر زمان، بر حسب میلی ثانیه،
launchWebAuthFlow
در مجموع در حالت غیرتعاملی مجاز است. فقط در صورتی تأثیر دارد کهinteractive
false
باشد. - آدرس اینترنتی
رشته
URL که جریان احراز هویت را آغاز می کند.
مواد و روش ها
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
وضعیت Identity API را بازنشانی می کند:
- تمام نشانه های دسترسی OAuth2 را از کش توکن حذف می کند
- تنظیمات برگزیده حساب کاربر را حذف می کند
- کاربر را از همه جریانهای تأییدیه خارج میکند
مولفه های
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:()=>void
برمی گرداند
قول<باطل>
Chrome 106+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
فهرستی از اشیاء AccountInfo را که حسابهای موجود در نمایه را توصیف میکنند، بازیابی میکند.
getAccounts
فقط در کانال توسعه دهنده پشتیبانی می شود.
مولفه های
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(accounts: AccountInfo[])=>void
- حساب ها
اطلاعات حساب []
برمی گرداند
Promise< AccountInfo []>
Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
یک نشانه دسترسی OAuth2 با استفاده از شناسه سرویس گیرنده و محدوده های مشخص شده در بخش oauth2
manifest.json دریافت می کند.
Identity API توکنهای دسترسی را در حافظه پنهان میکند، بنابراین هر زمان که به یک نشانه نیاز است، بهتر است getAuthToken
به صورت غیر تعاملی فراخوانی کنید. حافظه پنهان رمز به طور خودکار انقضا را کنترل می کند.
برای یک تجربه کاربری خوب، مهم است که درخواستهای توکن تعاملی توسط UI در برنامه شما آغاز شود و توضیح دهد که مجوز برای چه چیزی است. انجام ندادن این کار باعث میشود کاربران شما درخواستهای مجوز دریافت کنند، یا اگر وارد سیستم نشده باشند، صفحههای ورود به سیستم کروم را بدون هیچ زمینهای دریافت میکنند. به ویژه، هنگامی که برنامه شما برای اولین بار راه اندازی می شود، getAuthToken
به صورت تعاملی استفاده نکنید.
توجه: هنگامی که با یک callback فراخوانی می شود، این تابع به جای برگرداندن یک شی، این دو ویژگی را به عنوان آرگومان های جداگانه به callback ارسال می کند.
مولفه های
- جزئیات
TokenDetails اختیاری است
گزینه های توکن
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(result: GetAuthTokenResult)=>void
- نتیجهChrome 105+
برمی گرداند
Promise< GetAuthTokenResult >
Chrome 105+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
آدرس ایمیل و شناسه gaia مبهم کاربر وارد شده به نمایه را بازیابی می کند.
به مجوز مانیفست identity.email
نیاز دارد. در غیر این صورت، یک نتیجه خالی برمی گرداند.
این API از دو جهت با هویت.getAccounts متفاوت است. اطلاعات بازگردانده شده به صورت آفلاین در دسترس است و فقط برای حساب اصلی نمایه اعمال می شود.
مولفه های
- جزئیات
ProfileDetails اختیاری است
Chrome 84+گزینه های نمایه
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(userInfo: ProfileUserInfo)=>void
- اطلاعات کاربر
برمی گرداند
Promise< ProfileUserInfo >
Chrome 106+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
)
URL تغییر مسیر را برای استفاده در launchWebAuthFlow
ایجاد می کند.
URL های ایجاد شده با الگوی https://<app-id>.chromiumapp.org/*
مطابقت دارند.
مولفه های
- مسیر
رشته اختیاری
مسیر به انتهای URL تولید شده اضافه شده است.
برمی گرداند
رشته
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
یک جریان احراز هویت را در URL مشخص شده شروع می کند.
این روش با راهاندازی یک نمای وب و پیمایش آن به اولین URL در جریان تأیید اعتبار ارائهدهنده، جریانهای احراز هویت با ارائهدهندگان هویت غیر Google را فعال میکند. وقتی ارائهدهنده به URL منطبق با الگوی https://<app-id>.chromiumapp.org/*
هدایت میشود، پنجره بسته میشود و نشانی اینترنتی تغییر مسیر نهایی به تابع پاسخ به callback
ارسال میشود.
برای یک تجربه کاربری خوب، مهم است که جریانهای احراز هویت تعاملی توسط UI در برنامه شما آغاز شود و توضیح دهد که مجوز برای چه چیزی است. عدم انجام این کار باعث می شود کاربران شما درخواست های مجوز بدون زمینه دریافت کنند. به ویژه، هنگامی که برنامه شما برای اولین بار راه اندازی می شود، یک جریان احراز هویت تعاملی راه اندازی نکنید.
مولفه های
- جزئیات
گزینه های جریان WebAuth.
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(responseUrl?: string)=>void
- پاسخ آدرس
رشته اختیاری
برمی گرداند
Promise<string|undefined>
Chrome 106+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
یک نشانه دسترسی OAuth2 را از حافظه پنهان رمز Identity API حذف می کند.
اگر مشخص شد که یک نشانه دسترسی نامعتبر است، باید به removeCachedAuthToken ارسال شود تا آن را از حافظه پنهان حذف کند. سپس برنامه ممکن است یک نشانه جدید را با getAuthToken
بازیابی کند.
مولفه های
- جزئیات
اطلاعات رمزی
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:()=>void
برمی گرداند
قول<باطل>
Chrome 106+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
مناسبت ها
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
هنگامی که وضعیت ورود به سیستم برای یک حساب در نمایه کاربر تغییر می کند فعال می شود.
مولفه های
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(account: AccountInfo,signedIn: boolean)=>void
- حساب
- وارد شدن
بولی