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
Enum
"SYNC"
Senkronizasyonun birincil hesap için etkinleştirildiğini belirtir.
"HERHANGİ BİRİ"
Birincil hesabın (varsa) varlığını belirtir.
GetAuthTokenResult
Ö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
Ö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 olarakSYNC
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
isegetAuthToken
, kullanıcıya gerektiği şekilde istem gönderir. İşaretfalse
olduğunda veya atlandığındagetAuthToken
, 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ızcatimeoutMsForNonInteractive
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şaretitrue
ise sayfa yükleme tamamlandığında pencere gösterilir. İşaretfalse
ise veya atlanmışsa, ilk gezinme işlemi akışı tamamlamazsalaunchWebAuthFlow
hata mesajı döndürür.Yönlendirme için JavaScript kullanan akışlarda
abortOnLoadForNonInteractive
, sayfaya yönlendirme yapma şansı tanımak amacıylatimeoutMsForNonInteractive
ayarıyla birliktefalse
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ızcainteractive
,false
ise etkilidir. -
url
dize
Kimlik doğrulama akışını başlatan URL.
Yöntemler
clearAllCachedAuthTokens()
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.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getAccounts()
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
-
hesaplar
-
İadeler
-
Promise<AccountInfo[]>
Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getAuthToken()
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
-
sonuçChrome 105 ve sonraki sürümler 'nı inceleyin.
-
İadeler
-
Promise<GetAuthTokenResult>
Chrome 105 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getProfileUserInfo()
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
-
userInfo
-
İadeler
-
Promise<ProfileUserInfo>
Chrome 106 ve sonraki sürümler 'nı inceleyin.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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
dize isteğe bağlı
Oluşturulan URL'nin sonuna eklenen yol.
İadeler
-
dize
launchWebAuthFlow()
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.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
removeCachedAuthToken()
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.Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
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
-
hesap
-
signedIn
boolean
-