Naar hoofdinhoud gaan

Authenticatie

Het Copilot SDK ondersteunt meerdere authenticatiemethoden. Kies de methode die bij je use-case past.

Authenticatiemethoden

Zie Custom providers voor BYOK.

Microsoft Entra ID

Om de ingebouwde Microsoft Entra-aanmelding en het vernieuwen van tokens te gebruiken, registreer je je hostapplicatie bij de client. Stel clientId in op de toepassings-ID (client-ID) van je Entra-appregistratie. Je kunt een EntraAuthConfig-instantie of een array doorgeven. Lege waarden en waarden die alleen uit spaties bestaan, gooien een InvalidArgumentException.
Je kunt ook een array doorgeven:
De SDK stuurt de client-ID naar de runtime tijdens de server.connect-handshake. Deze registratie staat los van de server-RPC accounts.acquireEntraToken, die expliciet een token aanvraagt. Als je een Entra-configuratie instelt en de runtime te oud is om connect te ondersteunen, gooit de SDK This runtime does not support Entra client configuration. in plaats van de instelling stilzwijgend te negeren. Werk in dat geval de runtime bij. Andere authenticatiemethoden blijven werken.

GitHub-login (CLI)

Ben je al ingelogd met de copilot- of gh-CLI, dan worden de opgeslagen inloggegevens gebruikt als je niets opgeeft.

OAuth GitHub App / PAT

Geef een via de OAuth-flow verkregen gebruikersaccesstoken of een fine-grained PAT door aan github_token.
  • Bedoeld voor gho_ / ghu_ / github_pat_
  • ghp_ (classic PAT) wordt afgeraden
Geef je github_token op, dan wordt use_logged_in_user automatisch false. Wil je dit expliciet instellen, dan doe je dat zo.
Zie GitHub token voor details. github_token en use_logged_in_user zijn exclusief voor de stdio-modus. In de TCP-modus moet de authenticatie aan de kant van de Copilot CLI al geregeld zijn.

Door de host gegenereerde geheimen maskeren

Als je hostapplicatie tokens dynamisch verkrijgt, bijvoorbeeld via MCP OAuth, registreer ze dan bij het redactiefilter van de Copilot CLI. De CLI maskeert geregistreerde waarden in sessielogs en exports.
Deze aanroep staat los van het verkrijgen en doorgeven van tokens met onMcpAuthRequest. Roep hem expliciet aan nadat je een token hebt verkregen. De SDK slaat de waarden niet op en logt ze niet afzonderlijk voor deze RPC.

Omgevingsvariabelen

Geef je het token door via een omgevingsvariabele, dan detecteert de CLI dit automatisch. De prioriteit loopt van boven naar beneden.
  1. COPILOT_GITHUB_TOKEN
  2. GH_TOKEN
  3. GITHUB_TOKEN
Stel in de TCP-modus de omgevingsvariabelen aan de kant van de CLI-server in.

Prioriteit van authenticatie

Het SDK resolvet de authenticatiegegevens in deze volgorde.
  1. github_token (expliciet opgegeven)
  2. Token uit omgevingsvariabelen (COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN)
  3. In de CLI opgeslagen OAuth-inloggegevens
  4. De inloggegevens van de gh-CLI

Automatisch inloggen uitschakelen

Wil je de opgeslagen inloggegevens niet gebruiken, zet dan use_logged_in_user op false. Met false wordt voor authenticatie alleen het expliciet opgegeven token (github_token) gebruikt. Tokens uit omgevingsvariabelen (COPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKEN) worden genegeerd.
Net als github_token werkt dit alleen in de stdio-modus. In de TCP-modus moet de authenticatie aan de kant van de Copilot CLI al geregeld zijn.

De authenticatiestatus controleren

Je kunt het resultaat van auth.getStatus opvragen en controleren.

Een account selecteren voor interactief inloggen

Som loginAccounts op via de sessie-RPC om de opgeslagen identiteiten te krijgen die je bij een bepaalde provider opnieuw kunt gebruiken. De label van elk item is bedoeld voor weergave, en active geeft aan of de identiteit overeenkomt met het actieve account van de huidige sessie. accountId is een ondoorzichtige ID die eigendom is van de provider. Geef deze ongewijzigd door aan het loginverzoek, zonder hem te parsen of aan te passen.
Gebruik mode: 'default' om een opgeslagen identiteit te hergebruiken met het normale gedrag van de provider. Gebruik mode: 'selectAccount' om expliciet de accountkiezer van de provider te tonen. Geef in dat geval geen accountId mee. Bestaande aanroepen zoals begin(LoginProviderKind::ENTRA) blijven werken.
Zie de GitHub-repository voor de laatste informatie.
Laatst gewijzigd op 2 november 2026