Uwierzytelnianie OAuth MCP
Połącz się z serwerami MCP, które wymagają dostępu delegowanego przez użytkownika, używając OAuth 2.1. Bob zarządza procesem uwierzytelniania i odświeżania 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
Możesz połączyć Boba z serwerami Model Context Protocol (MCP), które działają w twoim imieniu, na przykład uzyskując dostęp do repozytoriów kodu, usług chmurowych lub wewnętrznych narzędzi. Te serwery używają OAuth 2.1, abyś mógł się zalogować i zatwierdzić dostęp.
Bob zarządza przepływem uwierzytelniania bezpośrednio. Gdy skonfigurujesz serwer wymagający OAuth, Bob wyświetla żądanie uwierzytelnienia w ustawieniach MCP. Możesz kliknąć przycisk, aby otworzyć swojego dostawcę tożsamości w oknie przeglądarki, ukończyć logowanie i zatwierdzić uprawnienia. Bob przechowuje i odświeża tokeny dostępu bez konieczności ręcznego zarządzania poświadczeniami.
Użyj OAuth, gdy:
- Potrzebujesz dostępu do zasobów powiązanych z twoim osobistym lub korporacyjnym kontem użytkownika
- Serwer używa krótkotrwałych tokenów wymagających automatycznego odświeżania
- Chcesz przechowywać statyczne poświadczenia i sekrety poza plikami konfiguracyjnymi
Gdy masz już statyczny token API lub osobisty token dostępu, który nie wygasa, możesz zamiast tego użyć tokenu Bearer w headers.
Jak działa przepływ uwierzytelniania
- Dodajesz zdalny adres URL serwera MCP do pliku konfiguracyjnego bez poświadczeń
headerslubenv. - Gdy Bob łączy się z serwerem, Bob wykrywa wymagania OAuth.
- Bob otwiera okno logowania w przeglądarce, gdzie przeglądasz żądane uprawnienia i zatwierdzasz dostęp.
- Bob otrzymuje tokeny autoryzacji i przechowuje je bezpiecznie w twoich sesjach.
- Bob automatycznie odświeża tokeny przed ich wygaśnięciem, abyś mógł pracować bez przerw.
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
Możesz skonfigurować serwery MCP w globalnej konfiguracji (~/.bob/mcp_settings.json) lub konfiguracji projektu (.bob/mcp.json).
Minimalna konfiguracja (automatyczne wykrywanie)
Gdy serwer MCP udostępnia automatyczne wykrywanie metadanych OAuth, wystarczy podać url:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://mcp.example.com/mcp"
}
}
}Bob wykrywa wymagania OAuth przy połączeniu i przeprowadza przez proces logowania w przeglądarce.
Niestandardowe parametry OAuth
Gdy dostawca tożsamości wymaga wstępnie zarejestrowanego ID klienta, niestandardowych zakresów lub sekretu klienta, skonfiguruj obiekt oauth:
{
"mcpServers": {
"my-oauth-server": {
"url": "https://mcp.example.com/mcp",
"oauth": {
"enabled": true,
"clientId": "your-client-id-from-idp",
"clientSecret": "your-client-secret-if-required",
"scope": "mcp:connect read:data"
}
}
}
}Właściwości konfiguracyjne
| Właściwość | Typ | Opis |
|---|---|---|
url | string | Zdalny adres URL punktu końcowego MCP (wymagany). |
oauth.enabled | boolean | Ustaw na false, aby wyłączyć OAuth, lub true, aby wymagać OAuth. Domyślnie włączone, gdy nie ma nagłówka Authorization. |
oauth.clientId | string | Wstępnie zarejestrowany ID klienta OAuth wydany przez dostawcę tożsamości. |
oauth.clientSecret | string | Sekret klienta OAuth, jeśli serwer autoryzacji wymaga go dla klientów poufnych. |
oauth.scope | string | Oddzielona spacjami lista zakresów OAuth do żądania. |
Dodanie statycznego nagłówka Authorization do konfiguracji serwera MCP wyłącza OAuth. Gdy nagłówek Authorization jest obecny, Bob nie inicjuje przepływu OAuth. Gdy OAuth jest aktywny, Bob usuwa statyczne nagłówki Authorization przed wysłaniem żądań. Używaj tylko jednej metody uwierzytelniania na serwer.
Rejestracja Boba u dostawcy tożsamości
Gdy dostawca tożsamości (IdP) wymaga zarejestrowania Boba jako aplikacji klienckiej przed połączeniem, użyj następujących ustawień aplikacji:
| Ustawienie | Wartość |
|---|---|
| Typ aplikacji lub klienta | Publiczny, natywny lub loopback (Authorization Code z PKCE) |
| Redirect URI | http://127.0.0.1:33418/callback |
| Dodatkowe redirect URI | http://127.0.0.1:33419/callback do http://127.0.0.1:33427/callback (zalecane, jeśli port 33418 jest zajęty) |
| Typy grant | Authorization Code (authorization_code) i Refresh Token (refresh_token) |
| Zakresy | Zakresy określone w dokumentacji serwera MCP |
Skopiuj wydany ID klienta do oauth.clientId w pliku konfiguracyjnym.
Uwierzytelnianie po wyświetleniu monitu
Gdy łączysz się z serwerem z obsługą OAuth po raz pierwszy:
- Przejrzyj monit uwierzytelniania otwierający się w IDE lub przeglądarce.
- Zweryfikuj uprawnienia, o które żąda serwer.
- Zaloguj się na swoje konto i zatwierdź dostęp.
- Bob zapisuje twoje poświadczenia i łączy się z narzędziami serwera.
Wyświetlanie i zarządzanie stanem uwierzytelniania
Możesz sprawdzić lub zmienić uwierzytelnianie dla serwera MCP:
- Kliknij ikonę w panelu Bob.
- Wybierz kartę MCP.
- Znajdź serwer na liście.
Połączone serwery wyświetlają wskaźnik stanu. Gdy uwierzytelnienie wygaśnie lub zmienią się uprawnienia, możesz zaktualizować połączenie.
Aby ponownie uwierzytelnić: Kliknij obok nazwy serwera, aby ponownie uruchomić połączenie i zalogować się ponownie.
Rozwiązywanie problemów
Monit uwierzytelniania nie otwiera się
- Upewnij się, że serwer nie jest oznaczony jako wyłączony w konfiguracji.
- Sprawdź, czy plik konfiguracyjny nie zawiera statycznego nagłówka
Authorizationwheaders. - Uruchom ponownie serwer z karty ustawień MCP.
- Sprawdź, czy przeglądarka lub zapora sieciowa nie blokuje lokalnych połączeń loopback na
127.0.0.1.
Dostawca tożsamości zwraca błąd niezgodności redirect URI
- Upewnij się, że rejestracja klienta u dostawcy tożsamości zawiera
http://127.0.0.1:33418/callback. - Jeśli port 33418 jest zajęty, zarejestruj dodatkowe porty od
33419do33427.
Uwierzytelnianie się powiodło, ale serwer nie może się połączyć
- Sprawdź, czy adres URL serwera jest poprawny i dostępny z twojej sieci.
- Sprawdź, czy zatwierdziłeś wszystkie wymagane zakresy podczas kroku logowania.
- Przejrzyj logi serwera lub dokumentację pod kątem wymaganych ról lub uprawnień użytkownika.
Tokeny często wygasają i musisz się ponownie uwierzytelnić
- Potwierdź, że serwer autoryzacji wydaje tokeny odświeżania.
- Sprawdź, czy zegar systemowy jest zsynchronizowany, aby zapobiec przedwczesnemu wygaśnięciu 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.