Uwierzytelnianie OAuth MCP
Bob obsługuje OAuth 2.1 dla serwerów MCP, które wymagają dostępu delegowanego przez użytkownika. Bob automatycznie obsługuje przepływ uwierzytelniania, w tym odświeżanie tokenów, więc nie musisz zarządzać tokenami ręcznie.
Aby uzyskać ogólną konfigurację MCP, zobacz Używanie MCP w Bob.
Przegląd
Niektóre serwery MCP muszą działać w twoim imieniu jako użytkownik, na przykład aby odczytać twoje repozytoria GitHub lub uzyskać dostęp do plików Google Drive. Te serwery używają OAuth 2.1, aby poprosić o twoją zgodę przed uzyskaniem dostępu do jakichkolwiek danych.
Bob automatycznie obsługuje pełny przepływ OAuth. Gdy łączysz się z serwerem wymagającym OAuth, serwer jest oznaczony ostrzeżeniem o konieczności uwierzytelnienia w ustawieniach MCP i pojawia się przycisk uwierzytelniania. Kliknij przycisk, aby otworzyć przepływ autoryzacji w przeglądarce. Po autoryzacji Bob zarządza przechowywaniem i odświeżaniem tokenów bez dalszych ręcznych kroków.
To różni się od statycznych metod uwierzytelniania, takich jak token Bearer w headers lub klucz API w env, które są odpowiednie dla kont usług lub tokenów, które nie wygasają. Użyj OAuth, gdy:
- Serwer potrzebuje dostępu do zasobów należących do twojego konta użytkownika
- Serwer autoryzacji serwera wydaje krótkotrwałe tokeny, które muszą być odświeżane
- Chcesz uniknąć przechowywania długotrwałych sekretów w plikach konfiguracyjnych MCP
Jak działa przepływ uwierzytelniania
- Dodajesz serwer MCP z obsługą OAuth do pliku konfiguracyjnego (nie są wymagane dane uwierzytelniające
headerslubenv) - Gdy Bob po raz pierwszy łączy się z serwerem, wykrywa metadane autoryzacji OAuth serwera
- Bob otwiera monit uwierzytelniania oparty na przeglądarce, prosząc o zalogowanie się i udzielenie zgody
- Po autoryzacji Bob bezpiecznie przechowuje tokeny dostępu i odświeżania między sesjami
- Bob automatycznie odświeża tokeny przed ich wygaśnięciem. Nie zostaniesz ponownie poproszony, chyba że odświeżanie się nie powiedzie.
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) |Konfiguracja serwera z obsługą OAuth
Serwery MCP z obsługą OAuth automatycznie ogłaszają swoje wymagania autoryzacji. W większości przypadków potrzebujesz tylko adresu URL serwera — pola OAuth są opcjonalne. Bob obsługuje również następujące opcjonalne właściwości OAuth:
oauth: Ustaw nafalse, aby wyłączyć OAuth dla serwera, lubtrue, aby jawnie go włączyćclientId: ID klienta OAuth, jeśli jest wymagane przez serwer autoryzacjiclientSecret: Sekret klienta OAuth, jeśli jest wymagany przez serwer autoryzacjiscope: Lista zakresów OAuth do żądania, oddzielona spacjami
Przykładowa konfiguracja:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://your-server-url.com/mcp"
}
}
}Bob wykrywa wymaganie OAuth podczas łączenia i inicjuje przepływ. Dane uwierzytelniające headers lub env nie są potrzebne.
Dodanie statycznego nagłówka Authorization do serwera z obsługą OAuth całkowicie wyłącza automatyczne OAuth. Bob nie będzie próbował przepływu OAuth. Odwrotnie, gdy OAuth jest aktywny, Bob usuwa wszelkie statyczne nagłówki Authorization przed wysłaniem żądań. Używaj tylko jednej metody.
Uwierzytelnianie po wyświetleniu monitu
Gdy Bob łączy się z serwerem z obsługą OAuth po raz pierwszy:
- W IDE pojawia się monit uwierzytelniania
- Przejrzyj uprawnienia, o które prosi serwer
- Zaloguj się na wymagane konto i udziel zgody
- Bob przechowuje tokeny i automatycznie kończy połączenie
Monit może pojawić się w oknie przeglądarki lub osadzonym widoku internetowym, w zależności od serwera autoryzacji.
Wyświetlanie i zarządzanie stanem uwierzytelniania
Aby sprawdzić lub zarządzać uwierzytelnianiem dla serwera MCP:
- Kliknij ikonę w panelu Bob.
- Wybierz kartę MCP.
- Znajdź serwer na liście.
Uwierzytelnione serwery pokazują wskaźnik stanu połączenia. Jeśli uwierzytelnienie wygasło lub zostało odwołane, serwer pokazuje stan błędu.
Aby ponownie uwierzytelnić: Kliknij obok serwera, aby ponownie uruchomić połączenie. Bob ponownie otwiera monit uwierzytelniania.
Rozwiązywanie problemów
Monit uwierzytelniania nie pojawia się
- Potwierdź, że serwer nie jest oznaczony jako wyłączony w twojej konfiguracji
- Uruchom ponownie serwer z karty ustawień MCP
- Sprawdź, czy twoja przeglądarka lub widok internetowy nie blokuje strony autoryzacji
Uwierzytelnianie się powiedzie, ale serwer nie może się połączyć
- Sprawdź, czy adres URL serwera jest poprawny i osiągalny
- Sprawdź, czy udzieliłeś wszystkich wymaganych uprawnień podczas kroku zgody
- Przejrzyj dokumentację serwera pod kątem dodatkowych wymagań konfiguracyjnych
Tokeny często wygasają i wymagane jest ponowne uwierzytelnienie
- Potwierdź, że serwer autoryzacji obsługuje tokeny odświeżania. Niektóre serwery wydają tokeny tylko do dostępu o krótkim czasie życia.
- Sprawdź, czy zegar systemowy jest dokładny, ponieważ przesunięcie zegara może spowodować przedwczesne wygaśnięcie tokenu
Chcesz się wylogować lub zmienić konto
Ponowne uruchomienie serwera nie czyści danych uwierzytelniających OAuth. Aby się wylogować lub zmienić konto, użyj Resetuj auth z karty ustawień MCP. To czyści przechowywane tokeny i wyzwala nowy monit uwierzytelniania przy następnym połączeniu.
Używanie MCP w Bob
Model Context Protocol (MCP) rozszerza możliwości Boba poprzez łączenie z zewnętrznymi narzędziami i usługami. Ten przewodnik pokazuje, jak konfigurować, zarządzać i używać serwerów MCP z Bobem.
Interfejs czatu
Interfejs czatu w Bob IDE to twoja główna przestrzeń robocza, w której używasz promptów w języku naturalnym, poleceń slash i automatycznego zatwierdzania do wspieranych przez AI workflowów programistycznych.