chrome.identity

Açıklama

OAuth2 erişim jetonları almak için chrome.identity API'yi kullanın.

İzinler

identity

Türler

AccountInfo

Özellikler

  • id

    dize

    Hesap için benzersiz bir tanımlayıcı. Bu kimlik, hesabın kullanım ömrü boyunca değişmez.

AccountStatus

Chrome 84 ve sonraki sürümler 'nı inceleyin.

Enum

"SYNC"
Senkronizasyonun birincil hesap için etkinleştirildiğini belirtir.

"HERHANGİ BİRİ"
Birincil hesabın (varsa) varlığını belirtir.

GetAuthTokenResult

Chrome 105 ve sonraki sürümler 'nı inceleyin.

Özellikler

  • grantedScopes

    string[] isteğe bağlı

    Uzantıya verilen OAuth2 kapsamlarının listesi.

  • token

    dize isteğe bağlı

    İstekle ilişkilendirilen belirli jeton.

InvalidTokenDetails

Özellikler

  • token

    dize

    Önbellekten kaldırılması gereken belirli jeton.

ProfileDetails

Chrome 84 ve sonraki sürümler 'nı inceleyin.

Özellikler

  • accountStatus

    AccountStatus isteğe bağlı

    ProfileUserInfo değerinin döndürülmesi gereken bir profilde oturum açan birincil hesabın durumu. Varsayılan olarak SYNC hesap durumu ayarlanır.

ProfileUserInfo

Özellikler

  • e-posta

    dize

    Mevcut profilde oturum açmış kullanıcı hesabının e-posta adresi. Kullanıcı oturum açmamışsa veya identity.email manifest izni belirtilmediyse boştur.

  • id

    dize

    Hesap için benzersiz bir tanımlayıcı. Bu kimlik, hesabın kullanım ömrü boyunca değişmez. Kullanıcı oturum açmamışsa veya (M41 ve sonraki sürümlerde) identity.email manifest izni belirtilmediyse boştur.

TokenDetails

Özellikler

  • hesap

    AccountInfo isteğe bağlı

    Jetonu döndürülmesi gereken hesap kimliği. Belirtilmezse işlev, Chrome profilindeki bir hesabı kullanır: varsa Senkronizasyon hesabı veya ilk Google web hesabı.

  • enableGranularPermissions

    boole isteğe bağlı

    Chrome 87 ve sonraki sürümler 'nı inceleyin.

    enableGranularPermissions işareti, uzantıların, istenen izinlerin tek tek verildiği veya reddedildiği ayrıntılı izin ekranı için erkenden etkinleştirmesine olanak tanır.

  • interactive

    boole isteğe bağlı

    Jeton getirmek, kullanıcının Chrome'da oturum açmasını veya uygulamanın istenen kapsamlarını onaylamasını gerektirebilir. Etkileşimli işaret true ise getAuthToken, kullanıcıya gerektiği şekilde istem gönderir. İşaret false olduğunda veya atlandığında getAuthToken, istem girilmesi gerektiği her durumda hata döndürür.

  • kapsamlar

    string[] isteğe bağlı

    İstenecek OAuth2 kapsamlarının listesi.

    scopes alanı mevcut olduğunda, manifest.json dosyasında belirtilen kapsam listesi geçersiz kılınır.

WebAuthFlowDetails

Özellikler

  • abortOnLoadForNonInteractive

    boole isteğe bağlı

    Chrome 113 ve sonraki sürümler 'nı inceleyin.

    Sayfa yüklendikten sonra etkileşimli olmayan istekler için launchWebAuthFlow öğesinin sonlandırılıp sonlandırılmayacağı. Bu parametre etkileşimli akışları etkilemez.

    true (varsayılan) olarak ayarlanırsa akış, sayfa yüklendikten hemen sonra sonlandırılır. false olarak ayarlanırsa akış yalnızca timeoutMsForNonInteractive geçtikten sonra sonlandırılır. Bu, sayfa yüklendikten sonra yeniden yönlendirme yapmak üzere JavaScript kullanan kimlik sağlayıcılar için yararlıdır.

  • interactive

    boole isteğe bağlı

    Kimlik doğrulama akışının etkileşimli modda başlatılıp başlatılmayacağı.

    Bazı kimlik doğrulama akışları anında bir sonuç URL'sine yönlendirilebildiğinden, launchWebAuthFlow ilk gezinme ya nihai URL'ye yönlendirme yapana ya da görüntülenmesi amaçlanan bir sayfayı yüklemeyi bitirene kadar web görünümünü gizler.

    interactive işareti true ise sayfa yükleme tamamlandığında pencere gösterilir. İşaret false ise veya atlanmışsa, ilk gezinme işlemi akışı tamamlamazsa launchWebAuthFlow hata mesajı döndürür.

    Yönlendirme için JavaScript kullanan akışlarda abortOnLoadForNonInteractive, sayfaya yönlendirme yapma şansı tanımak amacıyla timeoutMsForNonInteractive ayarıyla birlikte false olarak ayarlanabilir.

  • timeoutMsForNonInteractive

    sayı isteğe bağlı

    Chrome 113 ve sonraki sürümler 'nı inceleyin.

    launchWebAuthFlow öğesinin etkileşimsiz modda çalıştırılmasına izin verilen toplam maksimum süre (milisaniye cinsinden). Yalnızca interactive, false ise etkilidir.

  • url

    dize

    Kimlik doğrulama akışını başlatan URL.

Yöntemler

clearAllCachedAuthTokens()

Söz Chrome 87 ve sonraki sürümler
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

Identity API'nin durumunu sıfırlar:

  • Jeton önbelleğindeki tüm OAuth2 erişim jetonlarını kaldırır
  • Kullanıcının hesap tercihlerini kaldırır
  • Kullanıcının tüm yetkilendirme akışlarındaki yetkisini kaldırır

Parametreler

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getAccounts()

Söz Yeni geliştirilenler kanalı
chrome.identity.getAccounts(
  callback?: function,
)

Profilde bulunan hesapları açıklayan AccountInfo nesnelerinin bir listesini alır.

getAccounts yalnızca geliştirici kanalında destekleniyor.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (accounts: AccountInfo[]) => void

İadeler

  • Promise&lt;AccountInfo[]&gt;

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getAuthToken()

Söz 'nı inceleyin.
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)

Manifest.json'un oauth2 bölümünde belirtilen istemci kimliğini ve kapsamları kullanarak OAuth2 erişim jetonu alır.

Identity API, erişim jetonlarını bellekte önbelleğe alır. Bu nedenle, jeton gerektiğinde getAuthToken öğesini etkileşimsiz bir şekilde çağırmak sorun yaratmaz. Jeton önbelleği, geçerlilik süresini otomatik olarak işler.

İyi bir kullanıcı deneyimi için etkileşimli jeton isteklerinin uygulamanızdaki kullanıcı arayüzü tarafından başlatılması, yetkilendirmenin neyle ilgili olduğunun açıklanması önemlidir. Bunu yapmazsanız kullanıcılarınızın herhangi bir bağlam bilgisi olmadan yetkilendirme istekleri almasına veya oturum açmamışlarsa Chrome oturum açma ekranları almasına neden olursunuz. Özellikle, uygulamanız ilk kez kullanıma sunulduğunda getAuthToken öğesini etkileşimli olarak kullanmayın.

Not: Bir geri çağırma ile çağrıldığında, bu işlev bir nesne döndürmek yerine, iki özelliği geri çağırmaya iletilen ayrı bağımsız değişkenler olarak döndürür.

Parametreler

  • ayrıntılar

    TokenDetails isteğe bağlı

    Jeton seçenekleri.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: GetAuthTokenResult) => void

İadeler

  • Promise&lt;GetAuthTokenResult&gt;

    Chrome 105 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getProfileUserInfo()

Söz 'nı inceleyin.
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)

Bir profilde oturum açan kullanıcının e-posta adresini ve kodu karartılmış GAIA kimliğini alır.

identity.email manifest iznini gerektirir. Aksi takdirde boş sonuç döndürür.

Bu API, Identity.getAccounts'dan iki açıdan farklıdır. Döndürülen bilgiler çevrimdışı olarak kullanılabilir ve yalnızca profilin birincil hesabı için geçerlidir.

Parametreler

  • ayrıntılar

    ProfileDetails isteğe bağlı

    Chrome 84 ve sonraki sürümler 'nı inceleyin.

    Profil seçenekleri.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (userInfo: ProfileUserInfo) => void

İadeler

  • Promise&lt;ProfileUserInfo&gt;

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)

launchWebAuthFlow içinde kullanılacak bir yönlendirme URL'si oluşturur.

Oluşturulan URL'ler https://<app-id>.chromiumapp.org/* kalıbıyla eşleşiyor.

Parametreler

  • yol

    dize isteğe bağlı

    Oluşturulan URL'nin sonuna eklenen yol.

İadeler

  • dize

launchWebAuthFlow()

Söz 'nı inceleyin.
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)

Belirtilen URL'de bir kimlik doğrulama akışı başlatır.

Bu yöntem, bir web görünümü başlatıp bunu sağlayıcının kimlik doğrulama akışındaki ilk URL'ye giderek Google dışı kimlik sağlayıcılarla kimlik doğrulama akışlarını etkinleştirir. Sağlayıcı https://<app-id>.chromiumapp.org/* kalıbıyla eşleşen bir URL'ye yönlendirme yaptığında pencere kapanır ve nihai yönlendirme URL'si callback işlevine iletilir.

İyi bir kullanıcı deneyimi için etkileşimli kimlik doğrulama akışlarının uygulamanızdaki kullanıcı arayüzü tarafından başlatılması, yetkilendirmenin neyle ilgili olduğunun açıklanması önemlidir. Bunu yapmazsanız kullanıcılarınızın bağlam bilgisi olmadan yetkilendirme istekleri almasına neden olursunuz. Özellikle, uygulamanız ilk kullanıma sunulduğunda etkileşimli bir kimlik doğrulama akışı başlatmayın.

Parametreler

  • ayrıntılar

    WebAuth akış seçenekleri.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (responseUrl?: string) => void

    • responseUrl

      dize isteğe bağlı

İadeler

  • Söz<dize | tanımlanmadı>

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

removeCachedAuthToken()

Söz 'nı inceleyin.
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

Identity API'nin jeton önbelleğinden OAuth2 erişim jetonunu kaldırır.

Bir erişim jetonunun geçersiz olduğu tespit edilirse önbellekten kaldırmak için removeCachedAuthToken'a iletilmelidir. Uygulama daha sonra getAuthToken ile yeni bir jeton alabilir.

Parametreler

  • ayrıntılar

    Jeton bilgileri.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Taahhüt<void>

    Chrome 106 ve sonraki sürümler 'nı inceleyin.

    Vaatler yalnızca Manifest V3 ve sonraki sürümler için desteklenir. Diğer platformların geri çağırma yapması gerekir.

Etkinlikler

onSignInChanged

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

Kullanıcının profilindeki bir hesap için oturum açma durumu değiştiğinde tetiklenir.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

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