Baca dalam bahasa Inggris

Bagikan melalui


Mengotorisasi akses ke REST API dengan OAuth 2.0

Azure DevOps Services

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.

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 kedaluwarsa, jadi refresh token akses jika kedaluwarsa.

Proses untuk mendapatkan otorisasi.

Model OAuth yang tersedia

Penting

Saat membuat aplikasi OAuth 2.0 baru, gunakan Microsoft Entra ID OAuth. Azure DevOps OAuth 2.0 dijadwalkan untuk penghentian pada tahun 2026. Mulai Maret 2025, kami akan berhenti menerima aplikasi OAuth Azure DevOps baru. Pelajari lebih lanjut di posting blog kami.

Microsoft Entra ID OAuth

Membangun di platform baru bisa terasa menakutkan. Dalam panduan ini untuk membangun aplikasi Microsoft Entra untuk Azure DevOps, kami mengumpulkan tautan bermanfaat yang mungkin berguna untuk memulai proses pengembangan aplikasi OAuth di Microsoft Entra. Untuk orang yang bermigrasi dari Azure DevOps OAuth ke Microsoft Entra OAuth, kami menawarkan tips yang perlu dipertimbangkan selama upaya migrasi Anda.

Azure DevOps OAuth

Untuk aplikasi yang sudah ada, lihat panduan aplikasi Azure DevOps OAuth. Anda juga dapat mengelola aplikasi Azure DevOps mana yang berwenang untuk mengakses sumber daya Anda.

Cakupan

Pengembang diharapkan untuk menentukan cakupan apa yang mereka butuhkan dari pengguna mereka. Cakupan yang sama tersedia pada kedua model OAuth. Cakupan berikut hanya tersedia melalui alur-alur yang didelegasikan (atas nama pengguna) saja. 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, vso.code_manage termasuk vso.code_write. Misalnya, banyak cakupan yang diwarisi dari vso.profile. Pertimbangkan berapa jumlah cakupan minimal yang Anda butuhkan saat meminta persetujuan cakupan dari pengguna.

Catatan

Cakupan hanya memungkinkan akses ke REST API dan titik akhir Git tertentu. Akses SOAP API tidak didukung.

Kategori Cakupan Nama Berisiko tinggi Deskripsi Berasal Dari
Keamanan Tingkat Lanjut vso.advsec AdvancedSecurity (baca) Ya Memberikan kemampuan untuk membaca peringatan, instans hasil pemantauan, instans hasil analisis.
vso.advsec_write AdvancedSecurity (baca dan tulis) Ya Memberikan kemampuan untuk mengunggah analisis dalam format SARIF vso.advsec
vso.advsec_manage AdvancedSecurity (baca, tulis, dan kelola) Ya Memberikan kemampuan mengunggah analisis dalam format SARIF vso.advsec_write
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) Ya Memberikan kemampuan untuk mengelola kumpulan, antrean, dan agen. vso.agentpools
vso.environment_manage Lingkungan (baca, kelola) Ya Memberikan kemampuan untuk mengelola kumpulan, antrean, agen, dan lingkungan. vso.agentpools_manage
Analitik vso.analytics Analisis (baca) Memberikan kemampuan untuk mengkueri data analitik.
Audit vso.auditlog Log Audit (baca) Memberikan kemampuan untuk membaca log audit kepada pengguna.
vso.auditstreams_manage Aliran Audit (baca) Ya Memberikan kemampuan untuk mengelola aliran audit kepada pengguna. vso.auditlog
Build vso.build Build (baca) Memberikan kemampuan untuk mengakses artefak build, termasuk hasil build, definisi, dan permintaan, serta kemampuan untuk menerima pemberitahuan tentang peristiwa build melalui hook layanan. vso.hooks_write
vso.build_execute Kompilasi (baca dan jalankan) Ya Memberikan akses untuk mengelola artefak build, termasuk hasil, definisi, dan permintaan build. Kemampuan ini mencakup mengelola antrean build, memperbarui properti build, serta menerima pemberitahuan tentang peristiwa build melalui hook layanan. vso.build
Kode vso.code Kode (baca) Memungkinkan pembacaan kode sumber dan metadata tentang komit, changeset, cabang, dan artefak pengendalian versi lainnya. Selain itu, memberikan kemampuan untuk mencari kode dan menerima pemberitahuan tentang peristiwa kontrol versi melalui kait layanan. vso.hooks_write
vso.code_write Kode (baca dan tulis) Ya Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang commit, perubahan set, 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
vso.code_manage Kode (baca, tulis, dan kelola) Ya Memberikan kemampuan untuk membaca, memperbarui, dan menghapus kode sumber, mengakses metadata tentang commit, set perubahan, cabang, dan artefak kontrol versi lainnya. Juga memberikan kemampuan untuk membuat dan mengelola repositori kode, membuat dan mengelola pull request dan ulasan kode, serta menerima pemberitahuan tentang peristiwa kontrol versi melalui pengait layanan. vso.code_write
vso.code_full Kode (penuh) Ya 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 Klien OM. vso.code_manage
vso.code_status Kode (status) Memberikan kemampuan untuk membaca dan menulis status komit dan permintaan tarik.
Server Tersambung vso.connected_server Server Tersambung Memberikan kemampuan untuk mengakses titik akhir yang diperlukan dari server yang terhubung lokal.
Hak vso.entitlements Hak Akses (Baca) Menyediakan akses baca saja ke endpoint hak lisensi untuk mendapatkan hak akses akun.
vso.memberentitlementmanagement Pengelolaan Hak Anggota (baca) Memberikan kemampuan untuk membaca pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses.
vso.memberentitlementmanagement_write Pengelolaan Hak Keanggotaan (menulis) Ya Memberikan kemampuan untuk mengelola pengguna, lisensi mereka serta proyek dan ekstensi yang dapat mereka akses. vso.memberentitlementmanagement
Ekstensi vso.extension Ekstensi (baca) Memberikan kemampuan untuk membaca ekstensi yang diinstal. vso.profile
vso.extension_manage Ekstensi (baca dan kelola) Ya Memberikan kemampuan untuk menginstal, menghapus instalan, dan melakukan tindakan administratif lainnya pada ekstensi yang diinstal. vso.extension
vso.extension.data Data ekstensi (baca) Memberikan kemampuan untuk membaca data (pengaturan dan dokumen) yang disimpan oleh ekstensi yang diinstal. vso.profile
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. vso.extension.data
Koneksi Github vso.githubconnections Koneksi GitHub (membaca) Memberikan kemampuan untuk membaca koneksi GitHub dan data repositori GitHub.
vso.githubconnections_manage Koneksi GitHub (baca dan kelola) Ya Memberikan kemampuan untuk membaca dan mengelola koneksi GitHub dan data repositori GitHub vso.githubconnections
Grafik dan identitas vso.graph Grafik (dibaca) Memberikan kemampuan untuk membaca informasi pengguna, grup, cakupan, dan keanggotaan grup.
vso.graph_manage Grafik (pengelolaan) Ya Memberikan kemampuan untuk membaca informasi keanggotaan pengguna, grup, cakupan, dan grup, dan untuk menambahkan pengguna, grup, dan mengelola keanggotaan grup. vso.graph
vso.identity Identitas (bacalah) Memberikan kemampuan untuk membaca identitas dan grup.
vso.identity_manage Identitas (Pengelolaan) Ya Memberikan kemampuan untuk membaca, menulis, dan mengelola identitas dan grup. vso.identity
Grup Mesin vso.machinegroup_manage Grup penyebaran (baca, kelola) Ya Menyediakan kemampuan untuk mengelola grup penyebaran dan kumpulan agen. vso.agentpools_manage
Marketplace vso.gallery Pasar Memberikan akses baca ke item publik, item pribadi, dan penerbit. vso.profile
vso.gallery_acquire Marketplace (akuisisi) Memberikan akses membaca dan kemampuan untuk memperoleh barang. vso.gallery
vso.gallery_publish Marketplace (terbitkan) Ya Memberikan akses baca dan kemampuan untuk mengunggah, memperbarui, dan berbagi item. vso.gallery
vso.gallery_manage Marketplace (kelola) Ya Memberikan akses baca dan kemampuan untuk menerbitkan dan mengelola item dan penerbit. vso.gallery_publish
Pemberitahuan vso.notification Pemberitahuan (terbaca) Menyediakan akses baca ke langganan dan metadata peristiwa, termasuk nilai bidang yang dapat difilter. vso.profile
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
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_write
vso.notification_diagnostics Pemberitahuan (diagnostik) Menyediakan akses ke log diagnostik terkait pemberitahuan dan menyediakan kemampuan untuk mengaktifkan diagnostik untuk langganan individual. vso.notification
Kemasan vso.packaging Pengemasan (baca) Memberikan kemampuan untuk membaca umpan dan paket. vso.profile
vso.packaging_write Kemasan (baca dan tulis) Ya Memberikan kemampuan untuk membuat dan membaca umpan dan paket. vso.packaging
vso.packaging_manage Pengemasan (baca, tulis, dan kelola) Ya Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus umpan dan paket. vso.packaging_write
Sumber Daya Alur vso.pipelineresources_use Penggunaan Sumber Daya Alur Ya 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) Ya 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. vso.pipelineresources_manage
Proyek dan Tim vso.project Proyek dan Tim (silakan 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
vso.project_manage Proyek dan tim (baca, tulis, dan kelola) Ya Memberikan kemampuan untuk membuat, membaca, memperbarui, dan menghapus proyek dan tim. vso.project_write
Rilis vso.release Rilis (baca) Memberikan kemampuan untuk membaca artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis. vso.profile
vso.release_execute Rilis (baca, tulis, dan jalankan) Ya Memberikan kemampuan untuk membaca dan memperbarui artefak rilis, termasuk rilis, definisi rilis dan lingkungan rilis, dan kemampuan untuk mengantre rilis baru. vso.release
vso.release_manage Rilis (baca, tulis, jalankan, dan kelola) Ya Memberikan kemampuan untuk membaca, memperbarui, dan menghapus artefak rilis, termasuk rilis, definisi rilis, dan lingkungan rilis, dan kemampuan untuk mengantre dan menyetujui rilis baru. vso.release_manage
File Aman vso.securefiles_read File Terjamin (bisa dibaca) Ya Memberikan kemampuan untuk membaca file aman.
vso.securefiles_write File Aman (baca, buat) Ya Memberikan kemampuan untuk membaca dan membuat file aman. vso.securefiles_read
vso.securefiles_manage File Aman (baca, buat, dan kelola) Ya Memberikan kemampuan untuk membaca, membuat, dan mengelola file yang aman. vso.securefiles_write
Keamanan vso.security_manage Keamanan (kelola) Ya Memberikan kemampuan untuk membaca, menulis, dan mengelola izin keamanan.
Sambungan Layanan vso.serviceendpoint Titik Akhir Pelayanan (baca saja) Memberikan kemampuan untuk membaca titik akhir layanan. vso.profile
vso.serviceendpoint_query Titik Akhir Layanan (baca dan kueri) Memberikan kemampuan untuk membaca dan mengkueri titik akhir layanan. vso.serviceendpoint
vso.serviceendpoint_manage Titik Akhir Layanan (baca, kueri, dan kelola) Ya Memberikan kemampuan untuk membaca, mengkueri, dan mengelola titik akhir layanan. vso.serviceendpoint_query
Service Hooks vso.hooks Kait layanan (baca) Memberikan kemampuan untuk membaca langganan hook layanan dan metadata, termasuk peristiwa yang didukung, konsumen, dan tindakan. (Tidak lagi publik.) vso.profile
vso.hooks_write Pengait layanan (baca dan tulis) Memberikan kemampuan untuk membuat dan memperbarui langganan layanan hook serta membaca metadata, termasuk peristiwa-peristiwa, konsumen, dan aksi-aksi yang didukung. (Tidak lagi publik.) vso.hooks
vso.hooks_interact Kait layanan (berinteraksi) Memberikan kemampuan untuk berinteraksi dan melakukan tindakan pada peristiwa yang diterima melalui hook layanan. (Tidak lagi publik.) vso.profile
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.profile
vso.symbols_write Simbol (baca dan tulis) Memberikan kemampuan untuk membaca dan menulis simbol. vso.symbols
vso.symbols_manage Simbol (baca, tulis, dan kelola) Memberikan kemampuan untuk membaca, menulis, dan mengelola simbol. vso.symbols_write
Grup Tugas vso.taskgroups_read Grup Tugas (Baca) Memberikan kemampuan untuk membaca grup tugas.
vso.taskgroups_write Kelompok Tugas (membaca, membuat) Memberikan kemampuan untuk membaca dan membuat grup tugas. vso.taskgroups_read
vso.taskgroups_manage Grup Tugas (membaca, membuat, dan mengelola) Ya Memberikan kemampuan untuk membaca, membuat, dan mengelola grup tugas. vso.taskgroups_write
Dasbor Tim vso.dashboards Dasbor tim (bisa dibaca) Memberikan kemampuan untuk membaca informasi dasbor tim.
vso.dashboards_manage Dasbor tim (pengelolaan) Memberikan kemampuan untuk mengelola informasi dasbor tim. vso.dashboards
Manajemen Pengujian vso.test Manajemen pengujian (baca) Memberikan kemampuan untuk membaca rencana pengujian, kasus, hasil, dan artefak terkait manajemen pengujian lainnya. vso.profile
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. vso.test
Threads vso.threads_full Utas PR Memberikan kemampuan untuk membaca dan menulis untuk menarik utas komentar permintaan.
Token vso.tokens Token Otorisasi yang Didelegasikan Ya Memberikan kemampuan untuk mengelola token otorisasi yang didelegasikan kepada pengguna.
vso.tokenadministration Administrasi Token Ya Memberikan kemampuan untuk mengelola (melihat dan mencabut) token yang ada kepada administrator organisasi.
Profil Pengguna vso.profile Profil pengguna (dibaca) Memberikan kemampuan untuk membaca profil, akun, koleksi, proyek, tim, dan artefak organisasi tingkat atas Lainnya.
vso.profile_write Profil pengguna (menulis) Memberikan kemampuan untuk menulis ke profil Anda. vso.profile
Grup Variabel vso.variablegroups_read Grup Variabel (baca) Memberikan kemampuan untuk membaca grup variabel.
vso.variablegroups_write Kelompok Variabel (membaca, membuat) Memberikan kemampuan untuk membaca dan membuat grup variabel. vso.variablegroups_read
vso.variablegroups_manage Grup Variabel (baca, buat, dan kelola) Ya Memberikan kemampuan untuk membaca, membuat, dan mengelola grup variabel. vso.variablegroups_write
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. vso.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.hooks_write
vso.work_write Item kerja (baca dan tulis) Memberikan kemampuan untuk membaca, membuat, dan memperbarui item kerja dan kueri, memperbarui metadata papan, membaca jalur area dan iterasi, serta metadata lain yang terkait dengan pelacakan item kerja, menjalankan kueri, dan menerima pemberitahuan tentang peristiwa item kerja melalui hook layanan. vso.work
vso.work_full Item kerja (lengkap) Memberikan akses penuh ke item kerja, kueri, backlog, rencana, dan metadata pelacakan item kerja. Juga menyediakan kemampuan untuk menerima pemberitahuan tentang peristiwa item kerja melalui kait layanan. vso.work_write
Peniruan Identitas Pengguna user_impersonation Peniruan Identitas Pengguna Ya Memiliki akses penuh ke REST API Visual Studio Team Services. Minta dan/atau setujui cakupan ini dengan hati-hati karena sangat kuat!

Pertanyaan Umum

T: Dapatkah saya menggunakan OAuth dengan aplikasi ponsel saya?

J: Tidak. Azure DevOps Services hanya mendukung alur server web, sehingga tidak ada cara untuk menerapkan OAuth, karena Anda tidak dapat menyimpan rahasia aplikasi dengan aman.

T: Dapatkah saya menggunakan OAuth dengan titik akhir SOAP dan REST API?

J: Tidak. OAuth hanya didukung di REST API.