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ıdır. Bu kimlik, hesabın kullanım ömrü boyunca değişmez.

AccountStatus

Chrome 84 ve sonraki sürümler

Enum

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

"ANY"
Varsa birincil hesabın varlığını belirtir.

GetAuthTokenResult

Chrome 105 ve sonraki sürümler

Özellikler

  • grantedScopes

    string[] isteğe bağlı

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

  • token

    string isteğe bağlı

    İstekle ilişkilendirilmiş jeton.

InvalidTokenDetails

Özellikler

  • token

    dize

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

ProfileDetails

Chrome 84 ve sonraki sürümler

Özellikler

  • accountStatus

    AccountStatus isteğe bağlı

    Bir profilde oturum açılan birincil hesabın durumu. ProfileUserInfo değerinin döndürülmesi gerekir. Varsayılan olarak SYNC hesap durumu kullanılır.

ProfileUserInfo

Özellikler

  • e-posta

    dize

    Mevcut profilde oturum açan kullanıcı hesabının e-posta adresi. Kullanıcı oturum açmadıysa veya identity.email manifest izni belirtilmediyse boş bırakılır.

  • id

    dize

    Hesap için benzersiz bir tanımlayıcıdır. Bu kimlik, hesabın kullanım ömrü boyunca değişmez. Kullanıcı oturum açmadıysa veya (M41 ve sonraki sürümlerde) identity.email manifest izni belirtilmemişse boş bırakılır.

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ını veya ilk Google web hesabını kullanır.

  • enableGranularPermissions

    boole isteğe bağlı

    Chrome 87 ve sonraki sürümler

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

  • interactive

    boole isteğe bağlı

    Jeton getirmek için kullanıcının Chrome'da oturum açması veya uygulamanın istenen kapsamlarını onaylaması gerekebilir. Etkileşimli işareti true ise getAuthToken, kullanıcıdan gerektiği şekilde istekte bulunur. İşaret false olduğunda veya atlandığında, getAuthToken bir istem kullanılması gereken 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 kapsamların listesini geçersiz kılar.

WebAuthFlowDetails

Özellikler

  • abortOnLoadForNonInteractive

    boole isteğe bağlı

    Chrome 113 ve sonraki sürümler

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

    true (varsayılan) değerine ayarlandığında 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 yönlendirme gerçekleştirmek üzere JavaScript kullanan kimlik sağlayıcılar için yararlı olur.

  • 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ı hemen bir sonuç URL'sine yönlendirebileceği için launchWebAuthFlow, ilk gezinme nihai URL'ye yönlendirme yapana veya görüntülenmesi amaçlanan bir sayfanın yüklenmesi bitene kadar web görünümünü gizler.

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

    Yönlendirme için JavaScript kullanan akışlarda abortOnLoadForNonInteractive, timeoutMsForNonInteractive ayarıyla birlikte false olarak ayarlanabilir ve böylece sayfaya yönlendirme yapma fırsatı elde edilir.

  • timeoutMsForNonInteractive

    numara isteğe bağlı

    Chrome 113 ve sonraki sürümler

    launchWebAuthFlow hizmetinin etkileşimli olmayan modda çalışmasına izin verilen toplam süre (milisaniye cinsinden). Yalnızca interactive değeri false olduğunda etkili olur.

  • 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:

  • Tüm OAuth2 erişim jetonlarını jeton önbelleğinden kaldırır
  • Kullanıcının hesap tercihlerini kaldırır
  • Kullanıcının tüm kimlik doğrulama akışlarındaki yetkisini kaldırır

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 106 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

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 yeni geliştirilenler kanalında destekleniyor.

Parametreler

  • geri çağırma

    Functions (isteğe bağlı)

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

    (accounts: AccountInfo[])=>void

İlerlemeler

  • Promise<AccountInfo[]>

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getAuthToken()

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

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

Identity API, erişim jetonlarını bellekte önbelleğe alır. Bu nedenle, jeton gerektiğinde getAuthToken hizmetinin etkileşimli olmadan çağrılmasında bir sorun yoktur. 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 ne için olduğunun açıklanması açısından önemlidir. Bunu yapmazsanız, kullanıcılarınızın herhangi bir bağlam olmadan oturum açmamışlarsa yetkilendirme istekleri veya Chrome oturum açma ekranları almasına neden olur. Özellikle, uygulamanız ilk kullanıma sunulduğunda getAuthToken uygulamasını etkileşimli olarak kullanmayın.

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

Parametreler

  • ayrıntılar

    TokenDetails isteğe bağlı

    Jeton seçenekleri.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (result: GetAuthTokenResult)=>void

İlerlemeler

  • Chrome 105 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getProfileUserInfo()

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

Profilde oturum açan kullanıcının e-posta adresini ve gizlenmiş GAIA kimliğini alır.

identity.email manifest iznini gerektirir. Aksi takdirde boş bir 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 bu bilgiler yalnızca profilin birincil hesabı için geçerlidir.

Parametreler

  • ayrıntılar

    ProfileDetails (Profil Ayrıntıları) isteğe bağlı

    Chrome 84 ve sonraki sürümler

    Profil seçenekleri.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (userInfo: ProfileUserInfo)=>void

İlerlemeler

  • Chrome 106 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

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

    string isteğe bağlı

    Oluşturulan URL'nin sonuna eklenen yol.

İlerlemeler

  • dize

launchWebAuthFlow()

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

Belirtilen URL'de bir yetkilendirme akışı başlatır.

Bu yöntem, bir web görünümü başlatıp 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 ne için olduğunun açıklanması açısından önemlidir. Bunu yapmazsanız kullanıcılarınızın herhangi bir bağlam olmadan yetkilendirme istekleri almasına neden olur. Ö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

    Functions (isteğe bağlı)

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

    (responseUrl?: string)=>void

    • responseUrl

      string isteğe bağlı

İlerlemeler

  • Söz<dize|undefined>

    Chrome 106 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

removeCachedAuthToken()

Söz
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 belirlenirse, önbellekten kaldırılması için removeCachedAuthToken'a iletilmelidir. Daha sonra uygulama, getAuthToken ile yeni bir jeton alabilir.

Parametreler

  • ayrıntılar

    Jeton bilgileri.

  • geri çağırma

    Functions (isteğe bağlı)

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

    ()=>void

İlerlemeler

  • Promise<void>

    Chrome 106 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onSignInChanged

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

Kullanıcının profilindeki bir hesabın 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