کروم. هویت

توضیحات

از chrome.identity API برای دریافت نشانه های دسترسی OAuth2 استفاده کنید.

مجوزها

identity

انواع

AccountInfo

خواص

  • شناسه

    رشته

    یک شناسه منحصر به فرد برای حساب. این شناسه در طول عمر حساب تغییر نخواهد کرد.

AccountStatus

Chrome 84+

Enum

"همگام سازی"
مشخص می کند که همگام سازی برای حساب اصلی فعال است.

"هر"
وجود یک حساب اصلی را در صورت وجود مشخص می کند.

GetAuthTokenResult

Chrome 105+

خواص

  • grantedScopes

    رشته[] اختیاری است

    فهرستی از دامنه های OAuth2 که به برنامه افزودنی اعطا شده است.

  • نشانه

    رشته اختیاری

    توکن خاص مرتبط با درخواست.

InvalidTokenDetails

خواص

  • نشانه

    رشته

    توکن خاصی که باید از کش حذف شود.

ProfileDetails

Chrome 84+

خواص

  • وضعیت حساب

    وضعیت حساب اختیاری است

    وضعیت حساب اصلی وارد شده به نمایه ای که 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()

Promise Chrome 87+
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

وضعیت Identity API را بازنشانی می کند:

  • تمام نشانه های دسترسی OAuth2 را از کش توکن حذف می کند
  • تنظیمات برگزیده حساب کاربر را حذف می کند
  • کاربر را از همه جریان‌های تأییدیه خارج می‌کند

پارامترها

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 106+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

getAccounts()

کانال Promise Dev
chrome.identity.getAccounts(
  callback?: function,
)

فهرستی از اشیاء AccountInfo را که حساب‌های موجود در نمایه را توصیف می‌کنند، بازیابی می‌کند.

getAccounts فقط در کانال توسعه دهنده پشتیبانی می شود.

پارامترها

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    (accounts: AccountInfo[]) => void

برمی گرداند

  • Promise< AccountInfo []>

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از 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

برمی گرداند

  • Promise< GetAuthTokenResult >

    Chrome 105+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از 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 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از 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 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

removeCachedAuthToken()

قول بده
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

یک نشانه دسترسی OAuth2 را از حافظه پنهان رمز Identity API حذف می کند.

اگر مشخص شد که یک نشانه دسترسی نامعتبر است، باید به removeCachedAuthToken ارسال شود تا آن را از حافظه پنهان حذف کند. سپس برنامه ممکن است یک نشانه جدید را با getAuthToken بازیابی کند.

پارامترها

  • جزئیات

    اطلاعات رمزی

  • پاسخ به تماس

    عملکرد اختیاری

    پارامتر callback به نظر می رسد:

    () => void

برمی گرداند

  • قول<باطل>

    Chrome 106+

    Promises فقط برای Manifest V3 و نسخه‌های جدیدتر پشتیبانی می‌شود، پلتفرم‌های دیگر باید از callback استفاده کنند.

رویدادها

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

هنگامی که وضعیت ورود به سیستم برای یک حساب در نمایه کاربر تغییر می کند فعال می شود.

پارامترها

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    (account: AccountInfo, signedIn: boolean) => void

    • حساب کاربری
    • وارد شده

      بولی