Mengotorisasi akses ke REST API dengan OAuth 2.0

Azure DevOps

Pelajari cara mengautentikasi pengguna aplikasi web Anda untuk akses REST API, sehingga aplikasi Anda tidak terus meminta nama pengguna dan kata sandi.

Catatan

  • Panduan berikut ditujukan untuk pengguna Azure DevOps Services karena OAuth 2.0 tidak didukung di Azure DevOps Server. Pustaka Klien adalah serangkaian paket yang dibuat khusus untuk memperluas fungsionalitas Azure DevOps Server. Untuk pengguna lokal, sebaiknya gunakan Pustaka Klien, Windows Auth, atau token akses pribadi (PATs) untuk mengautentikasi atas nama pengguna.
  • Untuk informasi selengkapnya, lihat sampel C# OAuth GitHub.

Tentang OAuth 2.0

Azure DevOps Services menggunakan protokol OAuth 2.0 untuk mengotorisasi aplikasi Anda untuk pengguna dan menghasilkan token akses. Gunakan token ini saat Anda memanggil REST API dari aplikasi. Saat Anda memanggil Azure DevOps API untuk pengguna, gunakan token akses pengguna tersebut. Token akses bisa kedaluwarsa, jadi refresh token akses jika masa berlaku habis.

Process to get authorization.

Model OAuth yang tersedia

Saat Anda membuat aplikasi OAuth 2.0, gunakan Microsoft Entra ID OAuth. Kami masih mendukung Azure DevOps OAuth 2.0, tetapi saat ini kami tidak berinvestasi pada model ini.

Microsoft Entra ID OAuth

Saat Anda membuat aplikasi Microsoft Entra ID OAuth, aplikasi Anda mengeluarkan token Microsoft Entra, bukan token akses Azure DevOps. Token ini memiliki durasi satu jam standar sebelum kedaluwarsa.

Untuk informasi lebih lanjut, baca artikel berikut:

Catatan

Saat Anda membuat aplikasi yang menggunakan API lain, pastikan untuk memilih cakupan yang diperlukan untuk API tersebut.

Azure DevOps OAuth

Untuk aplikasi yang sudah ada, gunakan panduan Azure DevOps OAuth. Anda juga dapat mengelola aplikasi Azure DevOps mana yang diotorisasi.

Cakupan

Pengembang diharapkan untuk menentukan cakupan apa yang mereka butuhkan dari pengguna mereka. Cakupan tersedia pada kedua model OAuth. Cakupan berikut hanya tersedia melalui alur yang didelegasikan (atas nama pengguna). Untuk mengetahui cakupan apa yang Anda butuhkan untuk aplikasi Anda, lihat di bawah scopes header di halaman Referensi API untuk setiap API yang Anda gunakan.

Beberapa cakupan mungkin termasuk cakupan lain, misalnya, code_manage termasuk code_write. Pertimbangkan berapa jumlah cakupan minimal yang Anda butuhkan saat meminta persetujuan cakupan dari pengguna.

Penting

Cakupan hanya mengaktifkan akses ke REST API dan memilih titik akhir Git. Akses SOAP API tidak didukung.

Category Cakupan Nama Deskripsi
Kumpulan Agen vso.agentpools Kumpulan Agen (baca) Memberikan kemampuan untuk melihat tugas, kumpulan, antrean, agen, dan pekerjaan yang saat ini berjalan atau baru-baru ini selesai untuk agen.
vso.agentpools_manage Kumpulan Agen (baca, kelola) Memberikan kemampuan untuk mengelola kumpulan, antrean, dan agen.
vso.environment_manage Lingkungan (baca, kelola) Memberikan kemampuan untuk mengelola kumpulan, antrean, agen, dan lingkungan.
Analitik vso.analytics Analitik (baca) Memberikan kemampuan untuk mengkueri data analitik.
Audit vso.auditlog Log Audit (baca) Memberikan kemampuan untuk membaca log audit kepada pengguna.
vso.auditstreams_manage Audit Aliran (baca) Memberikan kemampuan untuk mengelola aliran audit kepada pengguna.
Build vso.build Build (baca) Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, dan kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui kait layanan.
vso.build_execute Bangun (baca dan jalankan) Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, dan kemampuan untuk mengantre build, memperbarui properti build, dan kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui kait layanan.
Kode vso.code Kode (baca) Memberikan kemampuan untuk membaca kode sumber dan metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk mencari kode dan mendapatkan pemberitahuan tentang peristiwa kontrol versi melalui kait layanan.
vso.code_write Kode (baca dan tulis) Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola permintaan pull dan ulasan kode dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan.
vso.code_manage Kode (baca, tulis, dan kelola) Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola repositori kode, membuat dan mengelola permintaan pull dan ulasan kode, dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan.
vso.code_full Kode (penuh) Memberikan akses penuh ke kode sumber, metadata tentang penerapan, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola repositori kode, membuat dan mengelola permintaan pull dan ulasan kode, dan untuk menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. Juga termasuk dukungan terbatas untuk API OM Klien.
vso.code_status Kode (status) Memberikan kemampuan untuk membaca dan menulis status penerapan dan permintaan pull.
Server Koneksi vso.connected_server Server Koneksi Memberikan kemampuan untuk mengakses titik akhir yang diperlukan dari server yang terhubung secara lokal.
Hak vso.entitlements Pemberian Izin (Baca) Menyediakan akses baca saja ke titik akhir pemberian hak lisensi untuk mendapatkan hak akun.
vso.memberentitlementmanagement Pengelolaan Pemberian Izin Anggota (baca) Memberikan kemampuan untuk membaca pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses.
vso.memberentitlementmanagement_write Pengelolaan Pemberian Izin Anggota (tulis) Memberikan kemampuan untuk mengelola pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses.
Ekstensi vso.extension Ekstensi (baca) Memberikan kemampuan untuk membaca ekstensi yang diinstal.
vso.extension_manage Ekstensi (baca dan kelola) Memberikan kemampuan untuk menginstal, menghapus instalan, dan melakukan tindakan administratif lainnya pada ekstensi yang diinstal.
vso.extension.data Data ekstensi (baca) Memberikan kemampuan untuk membaca data (pengaturan dan dokumen) yang disimpan oleh ekstensi yang diinstal.
vso.extension.data_write Data ekstensi (baca dan tulis) Memberikan kemampuan untuk membaca dan menulis data (pengaturan dan dokumen) yang disimpan oleh ekstensi yang diinstal.
Grafik & identitas vso.graph Grafik (baca) Memberikan kemampuan untuk membaca informasi keanggotaan pengguna, grup, cakupan, dan grup.
vso.graph_manage Grafik (kelola) Memberikan kemampuan untuk membaca informasi keanggotaan pengguna, grup, cakupan, dan grup, dan untuk menambahkan pengguna, grup, dan mengelola keanggotaan grup.
vso.identity Identitas (baca) Memberikan kemampuan untuk membaca identitas dan grup.
vso.identity_manage Identitas (kelola) Memberikan kemampuan untuk membaca, menulis, dan mengelola identitas dan grup.
Grup Mesin vso.machinegroup_manage Grup penyebaran (baca, kelola) Menyediakan kemampuan untuk mengelola grup penyebaran dan kumpulan agen.
Marketplace vso.gallery Marketplace Memberikan akses baca ke item publik dan privat dan penerbit.
vso.gallery_acquire Marketplace (akuisisi) Memberikan akses baca dan kemampuan untuk memperoleh item.
vso.gallery_publish Marketplace (terbitkan) Memberikan akses baca dan kemampuan untuk mengunggah, memperbarui, dan berbagi item.
vso.gallery_manage Marketplace (kelola) Memberikan akses baca dan kemampuan untuk menerbitkan dan mengelola item dan penerbit.
Pemberitahuan vso.notification Pemberitahuan (baca) Menyediakan akses baca ke langganan dan metadata peristiwa, termasuk nilai bidang yang dapat difilter.
vso.notification_write Pemberitahuan (tulis) Menyediakan akses baca dan tulis ke langganan dan akses baca ke metadata peristiwa, termasuk nilai bidang yang dapat difilter.
vso.notification_manage Pemberitahuan (kelola) Menyediakan akses baca, tulis, dan manajemen ke langganan dan akses baca ke metadata peristiwa, termasuk nilai bidang yang dapat difilter.
vso.notification_diagnostics Pemberitahuan (diagnostik) Menyediakan akses ke log diagnostik terkait pemberitahuan dan menyediakan kemampuan untuk mengaktifkan diagnostik untuk langganan individual.
Kemasan vso.packaging Pengemasan (baca) Memberikan kemampuan untuk membaca umpan dan paket.
vso.packaging_write Kemasan (baca dan tulis) Memberikan kemampuan untuk membuat dan membaca umpan dan paket.
vso.packaging_manage Pengemasan (baca, tulis, dan kelola) Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus umpan dan paket.
Sumber Daya Alur vso.pipelineresources_use Sumber Daya Alur (gunakan) Memberikan kemampuan untuk menyetujui permintaan alur untuk menggunakan sumber daya yang dilindungi: kumpulan agen, lingkungan, antrean, repositori, file aman, koneksi layanan, dan grup variabel.
vso.pipelineresources_manage Sumber Daya Alur (gunakan dan kelola) Memberikan kemampuan untuk mengelola sumber daya yang dilindungi atau permintaan alur untuk menggunakan sumber daya yang dilindungi: kumpulan agen, lingkungan, antrean, repositori, file aman, koneksi layanan, dan grup variabel.
Proyek dan Tim vso.project Proyek dan tim (baca) Memberikan kemampuan untuk membaca proyek dan tim.
vso.project_write Proyek dan tim (baca dan tulis) Memberikan kemampuan untuk membaca dan memperbarui proyek dan tim.
vso.project_manage Proyek dan tim (baca, tulis, dan kelola) Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus proyek dan tim.
Rilis vso.release Rilis (baca) Memberikan kemampuan untuk membaca artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis.
vso.release_execute Rilis (baca, tulis, dan jalankan) Memberikan kemampuan untuk membaca dan memperbarui artefak rilis, termasuk rilis, definisi rilis dan lingkungan rilis, dan kemampuan untuk mengantre rilis baru.
vso.release_manage Rilis (baca, tulis, jalankan, dan kelola) Memberikan kemampuan untuk membaca, memperbarui, dan menghapus artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis, dan kemampuan untuk mengantre dan menyetujui rilis baru.
File Aman vso.securefiles_read File Aman (baca) Memberikan kemampuan untuk membaca file aman.
vso.securefiles_write File Aman (baca, buat) Memberikan kemampuan untuk membaca dan membuat file aman.
vso.securefiles_manage File Aman (baca, buat, dan kelola) Memberikan kemampuan untuk membaca, membuat, dan mengelola file yang aman.
Keamanan vso.security_manage Keamanan (kelola) Memberikan kemampuan untuk membaca, menulis, dan mengelola izin keamanan.
Sambungan Layanan vso.serviceendpoint Titik Akhir Layanan (baca) Memberikan kemampuan untuk membaca titik akhir layanan.
vso.serviceendpoint_query Titik Akhir Layanan (baca dan kueri) Memberikan kemampuan untuk membaca dan mengkueri titik akhir layanan.
vso.serviceendpoint_manage Titik Akhir Layanan (baca, kueri, dan kelola) Memberikan kemampuan untuk membaca, mengkueri, dan mengelola titik akhir layanan.
Pengaturan vso.settings Pengaturan (baca) Memberikan kemampuan untuk membaca pengaturan.
vso.settings_write Pengaturan (baca dan tulis) Memberikan kemampuan untuk membuat dan membaca pengaturan.
Simbol vso.symbols Simbol (baca) Memberikan kemampuan untuk membaca simbol.
vso.symbols_write Simbol (baca dan tulis) Memberikan kemampuan untuk membaca dan menulis simbol.
vso.symbols_manage Simbol (baca, tulis, dan kelola) Memberikan kemampuan untuk membaca, menulis, dan mengelola simbol.
Grup Tugas vso.taskgroups_read Grup Tugas (baca) Memberikan kemampuan untuk membaca grup tugas.
vso.taskgroups_write Grup Tugas (baca, buat) Memberikan kemampuan untuk membaca dan membuat grup tugas.
vso.taskgroups_manage Grup Tugas (membaca, membuat, dan mengelola) Memberikan kemampuan untuk membaca, membuat, dan mengelola grup tugas.
Dasbor Tim vso.dashboards Dasbor tim (baca) Memberikan kemampuan untuk membaca informasi dasbor tim.
vso.dashboards_manage Dasbor tim (kelola) Memberikan kemampuan untuk mengelola informasi dasbor tim.
Manajemen Pengujian vso.test Manajemen pengujian (baca) Memberikan kemampuan untuk membaca rencana pengujian, kasus, hasil, dan artefak terkait manajemen pengujian lainnya.
vso.test_write Manajemen pengujian (baca dan tulis) Memberikan kemampuan untuk membaca, membuat, dan memperbarui rencana pengujian, kasus, hasil, dan artefak terkait manajemen pengujian lainnya.
Benang vso.threads_full Utas PR Memberikan kemampuan untuk membaca dan menulis untuk menarik utas komentar permintaan.
Token vso.tokens Token Otorisasi yang Didelegasikan Memberikan kemampuan untuk mengelola token otorisasi yang didelegasikan kepada pengguna.
vso.tokenadministration Administrasi Token Memberikan kemampuan untuk mengelola (melihat dan mencabut) token yang ada kepada administrator organisasi.
Profil Pengguna vso.profile Profil pengguna (baca) Memberikan kemampuan untuk membaca profil, akun, koleksi, proyek, tim, dan artefak organisasi tingkat atas Lainnya.
vso.profile_write Profil pengguna (tulis) Memberikan kemampuan untuk menulis ke profil Anda.
Grup Variabel vso.variablegroups_read Grup Variabel (baca) Memberikan kemampuan untuk membaca grup variabel.
vso.variablegroups_write Grup Variabel (baca, buat) Memberikan kemampuan untuk membaca dan membuat grup variabel.
vso.variablegroups_manage Grup Variabel (baca, buat, dan kelola) Memberikan kemampuan untuk membaca, membuat, dan mengelola grup variabel.
Wiki vso.wiki Wiki (baca) Memberikan kemampuan untuk membaca wiki, halaman wiki, dan lampiran wiki. Juga memberikan kemampuan untuk mencari halaman wiki.
vso.wiki_write Wiki (baca dan tulis) Memberikan kemampuan untuk membaca, membuat, dan memperbarui wiki, halaman wiki, dan lampiran wiki.
Item Kerja vso.work Item kerja (baca) Memberikan kemampuan untuk membaca item kerja, kueri, papan, jalur area dan iterasi, dan metadata terkait pelacakan item kerja lainnya. Juga memberikan kemampuan untuk menjalankan kueri, mencari item kerja, dan menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan.
vso.work_write Item kerja (baca dan tulis) Memberikan kemampuan untuk membaca, membuat, dan memperbarui item dan kueri kerja, memperbarui metadata papan, area baca dan jalur perulangan item kerja lainnya yang melacak metadata terkait, menjalankan kueri, dan untuk menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan.
vso.work_full Item kerja (penuh) Memberikan akses penuh ke item kerja, kueri, backlog, paket, dan metadata pelacakan item kerja. Juga menyediakan kemampuan untuk menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan.
Peniruan Identitas Pengguna user_impersonation Peniruan Identitas Pengguna Memiliki akses penuh ke REST API Visual Studio Team Services. Minta dan/atau setujui cakupan ini dengan hati-hati karena sangat kuat!