browser.identity

Açıklama

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

İzinler

identity

Türler

AccountInfo

Özellikler

  • id

    dize

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

AccountStatus

Chrome 84 ve sonraki sürümler Chrome 148'den itibaren browser.*

Enum

"SYNC"
Birincil hesap için senkronizasyonun etkinleştirildiğini belirtir.

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

GetAuthTokenResult

Chrome 105 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • grantedScopes

    string[] isteğe bağlı

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

  • token

    string isteğe bağlı

    İstekle ilişkili jeton.

InvalidTokenDetails

Özellikler

  • token

    dize

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

ProfileDetails

Chrome 84 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • accountStatus

    AccountStatus isteğe bağlı

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

ProfileUserInfo

Özellikler

  • e-posta

    dize

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

  • id

    dize

    Hesap için benzersiz tanımlayıcı. 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 belirtilmediyse boş bırakılır.

TokenDetails

Özellikler

  • hesap

    AccountInfo isteğe bağlı

    Jetonu döndürülecek hesap kimliği. Belirtilmezse işlev, Chrome profilindeki bir hesabı kullanır: Varsa senkronizasyon hesabı, yoksa ilk Google web hesabı.

  • enableGranularPermissions

    boole isteğe bağlı

    Chrome 87 ve sonraki sürümler Chrome 148'den itibaren browser.*

    enableGranularPermissions işareti, uzantıların ayrıntılı izinler kullanıcı rızası ekranını erken etkinleştirmesine olanak tanır. Bu ekranda, istenen izinler ayrı ayrı verilir veya reddedilir.

  • etkileşimli

    boole isteğe bağlı

    Jeton almak için kullanıcının Chrome'da oturum açması veya uygulamanın istediği kapsamları onaylaması gerekebilir. Etkileşimli işaret true ise getAuthToken, kullanıcıdan gerektiği şekilde bilgi ister. İşaret false olduğunda veya atlandığında, istem gerektiğinde getAuthToken her zaman 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 listesini geçersiz kılar.

WebAuthFlowDetails

Özellikler

  • abortOnLoadForNonInteractive

    boole isteğe bağlı

    Chrome 113 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

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

  • etkileşimli

    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ğinden launchWebAuthFlow, ilk gezinme nihai URL'ye yönlendirene veya gösterilmesi amaçlanan bir sayfanın yüklenmesi tamamlanana kadar web görünümünü gizler.

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

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

  • timeoutMsForNonInteractive

    number isteğe bağlı

    Chrome 113 ve sonraki sürümler Chrome 148'den itibaren browser.*

    launchWebAuthFlow aracının etkileşimli olmayan modda toplamda çalışmasına izin verilen maksimum süre (milisaniye cinsinden). Yalnızca interactive, false ise etkilidir.

  • url

    dize

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

Yöntemler

clearAllCachedAuthTokens()

Chrome 87 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.identity.clearAllCachedAuthTokens(): Promise<void>

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 kimlik doğrulama akışlarındaki yetkisini kaldırır.

İadeler

  • Promise<void>

    Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Durum temizlendiğinde çözümlenen bir Promise döndürür.

getAccounts()

Yeni geliştirilenler kanalı
browser.identity.getAccounts(): Promise<AccountInfo[]>

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

getAccounts yalnızca yeni geliştirilenler kanalında desteklenir.

İadeler

getAuthToken()

browser.identity.getAuthToken(
  details?: TokenDetails,
)
: Promise<GetAuthTokenResult>

oauth2manifest.json'un 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 yöntemini etkileşimli olmayan bir şekilde çağırabilirsiniz. Jeton önbelleği, geçerlilik süresini otomatik olarak yönetir.

İyi bir kullanıcı deneyimi için etkileşimli jeton isteklerinin, uygulamanızdaki kullanıcı arayüzü tarafından başlatılması ve yetkilendirmenin ne amaçla yapıldığının açıklanması önemlidir. Bunu yapmazsanız kullanıcılarınız, bağlam olmadan yetkilendirme istekleri veya oturum açmamışlarsa Chrome oturum açma ekranları görür. Özellikle, uygulamanız ilk başlatıldığında getAuthToken etkileşimli olarak kullanılmamalıdır.

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.

İadeler

  • Chrome 105 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Manifest tarafından belirtilen bir OAuth2 erişim jetonuyla çözümlenen veya hata varsa reddedilen bir Promise döndürür. grantedScopes parametresi, Chrome 87'den itibaren doldurulmaktadır. Bu parametre, mevcut olduğunda döndürülen jetona karşılık gelen izin verilen kapsamların listesini içerir.

getProfileUserInfo()

browser.identity.getProfileUserInfo(
  details?: ProfileDetails,
)
: Promise<ProfileUserInfo>

Bir profilde oturum açmış kullanıcının e-posta adresini ve gizlenmiş gaia kimliğini alır.

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

Bu API, identity.getAccounts'tan 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 Chrome 148'den itibaren browser.*

    Profil seçenekleri.

İadeler

  • Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Birincil Chrome hesabının ProfileUserInfo değeriyle çözümlenen bir Promise döndürür. Belirtilen details değerine sahip hesap mevcut değilse boş bir ProfileUserInfo döndürür.

getRedirectURL()

browser.identity.getRedirectURL(
  path?: string,
)
: 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şir.

Parametreler

  • yol

    string isteğe bağlı

    Oluşturulan URL'nin sonuna eklenen yol.

İadeler

  • dize

launchWebAuthFlow()

browser.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
)
: Promise<string | undefined>

Belirtilen URL'de bir kimlik doğrulama 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önlendirdiğinde pencere kapanır ve son 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ı ve yetkilendirmenin ne amaçla yapıldığının açıklanması önemlidir. Bunu yapmazsanız kullanıcılarınız bağlamı olmayan yetkilendirme istekleri alır. Özellikle, uygulamanız ilk başlatıldığında etkileşimli bir kimlik doğrulama akışı başlatmayın.

Parametreler

İadeler

  • Promise<string | undefined>

    Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Uygulamanıza geri yönlendirilen URL ile çözümlenen bir Promise döndürür.

removeCachedAuthToken()

browser.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
)
: Promise<void>

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

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

Parametreler

İadeler

  • Promise<void>

    Chrome 106 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Jeton önbellekten kaldırıldığında çözümlenen bir Promise döndürür.

Etkinlikler

onSignInChanged

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

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

Parametreler

  • callback

    işlev

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

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