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. StelclientId 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.
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 decopilot- 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 aangithub_token.
- Bedoeld voor
gho_/ghu_/github_pat_ ghp_(classic PAT) wordt afgeraden
github_token op, dan wordt use_logged_in_user automatisch false. Wil je dit expliciet instellen, dan doe je dat zo.
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.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.COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
Prioriteit van authenticatie
Het SDK resolvet de authenticatiegegevens in deze volgorde.github_token(expliciet opgegeven)- Token uit omgevingsvariabelen (
COPILOT_GITHUB_TOKEN→GH_TOKEN→GITHUB_TOKEN) - In de CLI opgeslagen OAuth-inloggegevens
- De inloggegevens van de
gh-CLI
Automatisch inloggen uitschakelen
Wil je de opgeslagen inloggegevens niet gebruiken, zet danuse_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.
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 vanauth.getStatus opvragen en controleren.
Een account selecteren voor interactief inloggen
SomloginAccounts 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.
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.