Autentikasi OAuth MCP
Bob mendukung OAuth 2.1 untuk server MCP yang memerlukan akses yang didelegasikan oleh user. Bob menangani alur autentikasi secara otomatis, termasuk refresh token, jadi kamu tidak perlu mengelola token secara manual.
Untuk konfigurasi MCP umum, lihat Using MCP in Bob.
Gambaran umum
Beberapa server MCP perlu bertindak atas namamu sebagai user, misalnya untuk membaca repository GitHub milikmu atau mengakses file Google Drive milikmu. Server seperti ini menggunakan OAuth 2.1 untuk meminta persetujuanmu sebelum mengakses data apa pun.
Bob menangani seluruh alur OAuth secara otomatis. Saat kamu terhubung ke server yang memerlukan OAuth, server itu ditandai dengan peringatan needs authentication di settings MCP dan tombol autentikasi akan muncul. Klik tombol itu untuk membuka alur otorisasi di browser. Setelah kamu memberi otorisasi, Bob akan mengelola penyimpanan token dan refresh tanpa langkah manual tambahan.
Ini berbeda dari metode autentikasi statis seperti Bearer token di headers atau API key di env, yang cocok untuk service account atau token yang tidak kedaluwarsa. Gunakan OAuth ketika:
- Server membutuhkan akses ke resource yang dimiliki oleh akun user-mu
- Authorization server milik server tersebut mengeluarkan token berumur pendek yang harus di-refresh
- Kamu ingin menghindari penyimpanan secret berumur panjang di file konfigurasi MCP
Cara kerja alur autentikasi
- Kamu menambahkan server MCP yang mendukung OAuth ke file konfigurasi (tanpa credential
headersatauenv) - Saat Bob pertama kali terhubung ke server, Bob mendeteksi metadata otorisasi OAuth milik server
- Bob membuka prompt autentikasi berbasis browser yang meminta kamu sign in dan memberikan persetujuan
- Setelah kamu memberi otorisasi, Bob menyimpan access token dan refresh token dengan aman lintas sesi
- Bob otomatis me-refresh token sebelum kedaluwarsa. Kamu tidak akan diminta lagi kecuali refresh gagal.
Bob IDE Authorization Server MCP Server
| | |
|-- connect to server ---------->| |
|<-- OAuth metadata (401) -------| |
|-- open auth prompt ----------->| |
| (user signs in & consents) | |
|<-- authorization code ---------| |
|-- exchange for tokens -------->| |
|<-- access + refresh tokens ----| |
|-- authenticated requests ---------------------------------> |
| (auto-refresh when needed) |Mengonfigurasi server yang mendukung OAuth
Server MCP yang mendukung OAuth mengiklankan persyaratan otorisasinya secara otomatis. Dalam kebanyakan kasus kamu hanya memerlukan URL server — field OAuth bersifat opsional. Bob juga mendukung properti OAuth opsional berikut:
oauth: Set kefalseuntuk menonaktifkan OAuth pada server, atautrueuntuk mengaktifkannya secara eksplisitclientId: OAuth client ID, jika diminta oleh authorization serverclientSecret: OAuth client secret, jika diminta oleh authorization serverscope: Daftar scope OAuth yang dipisahkan spasi untuk diminta
Contoh konfigurasi:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://your-server-url.com/mcp"
}
}
}Bob mendeteksi kebutuhan OAuth saat terhubung dan memulai alurnya. Tidak diperlukan credential headers atau env.
Menambahkan header Authorization statis ke server yang mendukung OAuth akan menonaktifkan OAuth otomatis sepenuhnya. Bob tidak akan mencoba alur OAuth. Sebaliknya, saat OAuth aktif, Bob menghapus header Authorization statis sebelum mengirim permintaan. Gunakan hanya satu metode.
Autentikasi saat diminta
Saat Bob terhubung ke server yang mendukung OAuth untuk pertama kalinya:
- Prompt autentikasi muncul di IDE
- Tinjau izin yang diminta server
- Sign in dengan akun yang diperlukan lalu berikan persetujuan
- Bob menyimpan token dan menyelesaikan koneksi secara otomatis
Prompt bisa muncul di jendela browser atau embedded webview, tergantung authorization server.
Lihat dan kelola status autentikasi
Untuk memeriksa atau mengelola autentikasi untuk server MCP:
- Klik ikon di panel Bob.
- Pilih tab MCP.
- Temukan server tersebut di daftar.
Server yang sudah diautentikasi menampilkan indikator status connected. Jika autentikasi kedaluwarsa atau dicabut, server akan menampilkan status error.
Untuk autentikasi ulang: Klik di samping server untuk memulai ulang koneksi. Bob membuka prompt autentikasi lagi.
Troubleshooting
Prompt autentikasi tidak muncul
- Pastikan server tidak ditandai sebagai disabled dalam konfigurasi kamu
- Restart server dari tab settings MCP
- Pastikan browser atau webview kamu tidak memblokir halaman otorisasi
Autentikasi berhasil tetapi server gagal terhubung
- Verifikasi URL server benar dan bisa dijangkau
- Pastikan kamu memberikan semua izin yang diperlukan saat langkah persetujuan
- Tinjau dokumentasi server untuk kebutuhan setup tambahan apa pun
Token sering kedaluwarsa dan autentikasi ulang diperlukan
- Pastikan authorization server mendukung refresh token. Beberapa server hanya mengeluarkan access token berumur pendek tanpa refresh token.
- Pastikan jam sistemmu akurat, karena perbedaan waktu bisa menyebabkan token dianggap kedaluwarsa terlalu cepat
Kamu ingin sign out atau berpindah akun
Restart server tidak menghapus credential OAuth. Untuk sign out atau berpindah akun, gunakan Reset auth dari tab settings MCP. Tindakan ini menghapus token yang tersimpan dan memicu prompt autentikasi baru pada koneksi berikutnya.