Deskripsi
Gunakan chrome.identity API untuk mendapatkan token akses OAuth2.
Izin
identityJenis
AccountInfo
Properti
- 
    idstring ID unik untuk akun. ID ini tidak akan berubah selama masa aktif akun. 
AccountStatus
Enum
"SYNC" 
 Menentukan bahwa Sinkronisasi diaktifkan untuk akun utama.
"ANY" 
 Menentukan keberadaan akun utama, jika ada.
GetAuthTokenResult
Properti
- 
    grantedScopesstring[] opsional Daftar cakupan OAuth2 yang diberikan ke ekstensi. 
- 
    tokenstring opsional Token tertentu yang terkait dengan permintaan. 
InvalidTokenDetails
Properti
- 
    tokenstring Token tertentu yang harus dihapus dari cache. 
ProfileDetails
Properti
- 
    accountStatusAccountStatus opsional Status akun utama yang login ke profil yang ProfileUserInfo-nya harus ditampilkan. Default-nya adalah status akunSYNC.
ProfileUserInfo
Properti
- 
    emailstring Alamat email untuk akun pengguna yang login ke profil saat ini. Kosong jika pengguna tidak login atau izin manifes identity.emailtidak ditentukan.
- 
    idstring ID unik untuk akun. ID ini tidak akan berubah selama masa aktif akun. Kosong jika pengguna tidak login atau (di M41+) izin manifes identity.emailtidak ditentukan.
TokenDetails
Properti
- 
    akunAccountInfo opsional ID akun yang tokennya harus ditampilkan. Jika tidak ditentukan, fungsi akan menggunakan akun dari profil Chrome: akun Sinkronisasi jika ada, atau akun web Google pertama jika tidak ada. 
- 
    enableGranularPermissionsboolean opsional Chrome 87+Dengan tanda enableGranularPermissions, ekstensi dapat memilih untuk menggunakan layar izin izin terperinci lebih awal, yang memungkinkan izin yang diminta diberikan atau ditolak satu per satu.
- 
    interaktifboolean opsional Pengambilan token mungkin mengharuskan pengguna login ke Chrome, atau menyetujui cakupan yang diminta aplikasi. Jika tanda interaktif adalah true,getAuthTokenakan meminta pengguna sesuai kebutuhan. Jika tanda adalahfalseatau tidak ada,getAuthTokenakan menampilkan kegagalan setiap kali perintah diperlukan.
- 
    cakupanstring[] opsional Daftar cakupan OAuth2 yang akan diminta. Jika ada, kolom scopesakan menggantikan daftar cakupan yang ditentukan dalam manifest.json.
WebAuthFlowDetails
Properti
- 
    abortOnLoadForNonInteractiveboolean opsional Chrome 113+Apakah akan menghentikan launchWebAuthFlowuntuk permintaan non-interaktif setelah halaman dimuat. Parameter ini tidak memengaruhi alur interaktif.Jika disetel ke true(default), alur akan segera dihentikan setelah halaman dimuat. Jika disetel kefalse, alur hanya akan berakhir setelahtimeoutMsForNonInteractiveberlalu. Hal ini berguna untuk penyedia identitas yang menggunakan JavaScript untuk melakukan pengalihan setelah halaman dimuat.
- 
    interaktifboolean opsional Apakah akan meluncurkan alur autentikasi dalam mode interaktif. Karena beberapa alur autentikasi dapat langsung mengalihkan ke URL hasil, launchWebAuthFlowmenyembunyikan tampilan webnya hingga navigasi pertama mengalihkan ke URL akhir, atau selesai memuat halaman yang akan ditampilkan.Jika tanda interactiveadalahtrue, jendela akan ditampilkan saat pemuatan halaman selesai. Jika tanda adalahfalseatau tidak ada,launchWebAuthFlowakan menampilkan error jika navigasi awal tidak menyelesaikan alur.Untuk alur yang menggunakan JavaScript untuk pengalihan, abortOnLoadForNonInteractivedapat disetel kefalsebersama dengan setelantimeoutMsForNonInteractiveuntuk memberi halaman kesempatan melakukan pengalihan.
- 
    timeoutMsForNonInteractivenomor opsional Chrome 113+Jumlah waktu maksimum, dalam milidetik, launchWebAuthFlowdiizinkan untuk berjalan dalam mode non-interaktif secara total. Hanya berpengaruh jikainteractiveadalahfalse.
- 
    urlstring URL yang memulai alur autentikasi. 
Metode
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
Mereset status Identity API:
- Menghapus semua token akses OAuth2 dari cache token
- Menghapus preferensi akun pengguna
- Membatalkan otorisasi pengguna dari semua alur autentikasi
Parameter
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 106+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
Mengambil daftar objek AccountInfo yang menjelaskan akun yang ada di profil.
getAccounts hanya didukung di saluran dev.
Parameter
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(accounts: AccountInfo[]) => void - 
    akun
 
- 
    
Hasil
- 
            Promise<AccountInfo[]> Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): Promise<GetAuthTokenResult>
Mendapatkan token akses OAuth2 menggunakan client ID dan cakupan yang ditentukan di bagian oauth2 dari manifest.json.
Identity API menyimpan token akses dalam cache di memori, sehingga Anda dapat memanggil getAuthToken secara non-interaktif kapan saja saat token diperlukan. Cache token otomatis menangani masa berlaku token.
Untuk pengalaman pengguna yang baik, permintaan token interaktif yang dimulai oleh UI di aplikasi Anda harus menjelaskan tujuan otorisasi. Jika hal ini tidak dilakukan, pengguna Anda akan mendapatkan permintaan otorisasi, atau layar login Chrome jika mereka tidak login, tanpa konteks. Khususnya, jangan gunakan getAuthToken secara interaktif saat aplikasi Anda pertama kali diluncurkan.
Catatan: Saat dipanggil dengan callback, alih-alih menampilkan objek, fungsi ini akan menampilkan dua properti sebagai argumen terpisah yang diteruskan ke callback.
Parameter
- 
    detailTokenDetails opsional Opsi token. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(result: GetAuthTokenResult) => void - 
    hasilChrome 105+
 
- 
    
Hasil
- 
            Promise<GetAuthTokenResult> Chrome 105+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): Promise<ProfileUserInfo>
Mengambil alamat email dan ID gaia yang di-obfuscate dari pengguna yang login ke profil.
Memerlukan izin manifes identity.email. Jika tidak, akan menampilkan hasil kosong.
API ini berbeda dengan identity.getAccounts dalam dua hal. Informasi yang ditampilkan tersedia secara offline, dan hanya berlaku untuk akun utama profil.
Parameter
- 
    detailProfileDetails opsional Chrome 84+Opsi profil. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(userInfo: ProfileUserInfo) => void - 
    userInfo
 
- 
    
Hasil
- 
            Promise<ProfileUserInfo> Chrome 106+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
Membuat URL pengalihan untuk digunakan di launchWebAuthFlow.
URL yang dihasilkan cocok dengan pola https://<app-id>.chromiumapp.org/*.
Parameter
- 
    jalurstring opsional Jalur yang ditambahkan ke bagian akhir URL yang dibuat. 
Hasil
- 
            string 
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
): Promise<string | undefined>
Memulai alur autentikasi di URL yang ditentukan.
Metode ini memungkinkan alur autentikasi dengan penyedia identitas non-Google dengan meluncurkan tampilan web dan mengarahkannya ke URL pertama dalam alur autentikasi penyedia. Saat penyedia mengalihkan ke URL yang cocok dengan pola https://<app-id>.chromiumapp.org/*, jendela akan ditutup, dan URL pengalihan akhir akan diteruskan ke fungsi callback.
Untuk memberikan pengalaman pengguna yang baik, alur autentikasi interaktif yang dimulai oleh UI di aplikasi Anda yang menjelaskan tujuan otorisasi sangatlah penting. Jika hal ini tidak dilakukan, pengguna Anda akan mendapatkan permintaan otorisasi tanpa konteks. Khususnya, jangan luncurkan alur autentikasi interaktif saat aplikasi Anda diluncurkan pertama kali.
Parameter
- 
    detailOpsi alur WebAuth. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(responseUrl?: string) => void - 
    responseUrlstring opsional 
 
- 
    
Hasil
- 
            Promise<string | undefined> Chrome 106+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
): Promise<void>
Menghapus token akses OAuth2 dari cache token Identity API.
Jika token akses diketahui tidak valid, token tersebut harus diteruskan ke removeCachedAuthToken untuk menghapusnya dari cache. Aplikasi kemudian dapat mengambil token baru dengan getAuthToken.
Parameter
- 
    detailInformasi token. 
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 106+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
Acara
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Dipicu saat status login berubah untuk akun di profil pengguna.
Parameter
- 
    callbackfungsi Parameter callbackterlihat seperti:(account: AccountInfo, signedIn: boolean) => void - 
    akun
- 
    signedInboolean 
 
-