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
Enum
"SYNC"
Senkronizasyonun birincil hesap için etkinleştirildiğini belirtir.
"ANY"
Varsa birincil hesabın varlığını belirtir.
GetAuthTokenResult
Ö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
Ö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 olarakSYNC
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ümlerenableGranularPermissions
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
isegetAuthToken
, kullanıcıdan gerektiği şekilde istekte bulunur. İşaretfalse
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ümlerSayfa 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ızcatimeoutMsForNonInteractive
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şaretitrue
ise sayfa yükleme işlemi tamamlandığında pencere görüntülenecektir. İşaretfalse
ise veya atlanmışsa ilk navigasyon akışı tamamlamazsalaunchWebAuthFlow
bir hata döndürür.Yönlendirme için JavaScript kullanan akışlarda
abortOnLoadForNonInteractive
,timeoutMsForNonInteractive
ayarıyla birliktefalse
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ümlerlaunchWebAuthFlow
hizmetinin etkileşimli olmayan modda çalışmasına izin verilen toplam süre (milisaniye cinsinden). Yalnızcainteractive
değerifalse
olduğunda etkili olur. -
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:
- 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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getAccounts()
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
-
hesaplar
-
İlerlemeler
-
Promise<AccountInfo[]>
Vaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getAuthToken()
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
-
sonuçChrome 105 ve sonraki sürümler
-
İlerlemeler
-
Promise<GetAuthTokenResult>
Chrome 105 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getProfileUserInfo()
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ümlerProfil seçenekleri.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(userInfo: ProfileUserInfo) => void
-
userInfo
-
İlerlemeler
-
Promise<ProfileUserInfo>
Chrome 106 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması 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
string isteğe bağlı
Oluşturulan URL'nin sonuna eklenen yol.
İlerlemeler
-
dize
launchWebAuthFlow()
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
-
Promise<string | undefined>
Chrome 106 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
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 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ümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
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
-
hesap
-
signedIn
boolean
-