توضیحات
از chrome.identity
API برای دریافت نشانه های دسترسی OAuth2 استفاده کنید.
مجوزها
identity
انواع
AccountInfo
خواص
- شناسه
رشته
یک شناسه منحصر به فرد برای حساب. این شناسه در طول عمر حساب تغییر نخواهد کرد.
AccountStatus
Enum
"همگام سازی" "هر"
مشخص می کند که همگام سازی برای حساب اصلی فعال است.
وجود یک حساب اصلی را در صورت وجود مشخص می کند.
GetAuthTokenResult
خواص
- grantedScopes
رشته[] اختیاری است
فهرستی از دامنه های OAuth2 که به برنامه افزودنی اعطا شده است.
- نشانه
رشته اختیاری
توکن خاص مرتبط با درخواست.
InvalidTokenDetails
خواص
- نشانه
رشته
توکن خاصی که باید از کش حذف شود.
ProfileDetails
خواص
- وضعیت حساب
وضعیت حساب اختیاری است
وضعیت حساب اصلی وارد شده به نمایه ای که
ProfileUserInfo
باید برگردانده شود. پیشفرض وضعیت حسابSYNC
.
ProfileUserInfo
خواص
- ایمیل
رشته
یک آدرس ایمیل برای حساب کاربری وارد شده به نمایه فعلی. اگر کاربر وارد سیستم نشده باشد یا مجوز مانیفست
identity.email
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
را میتوان در ترکیب با تنظیمtimeoutMsForNonInteractive
رویfalse
تنظیم کرد تا به صفحه فرصتی برای انجام هرگونه تغییر مسیر بدهد. - 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 در برنامه شما آغاز شود و توضیح دهد که مجوز برای چه چیزی است. انجام ندادن این کار باعث میشود کاربران شما درخواستهای مجوز دریافت کنند، یا اگر وارد سیستم نشده باشند، صفحههای ورود به سیستم Chrome را بدون هیچ زمینهای دریافت میکنند. به ویژه، هنگامی که برنامه شما برای اولین بار راه اندازی می شود، getAuthToken
به صورت تعاملی استفاده نکنید.
توجه: هنگامی که با یک فراخوانی فراخوانی می شود، این تابع به جای برگرداندن یک شی، دو ویژگی را به عنوان آرگومان های جداگانه ای که به 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
.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
- پاسخ آدرس
رشته اختیاری
برمی گرداند
قول<رشته | تعریف نشده>
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
- حساب کاربری
- وارد شده
بولی