Naar de hoofdinhoud

Waarom moet ik bevestigen dat ik het ben als ik inlog met Git Credential Manager, tea of de CLI?

Als een app zoals Git Credential Manager je browser opent om je bij frem.sh in te loggen, kan frem.sh eerst een pagina Bevestig dat jij het bent tonen. Bevestig met je passkey of beveiligingssleutel, met een code uit je authenticator-app of door opnieuw in te loggen bij de identiteitsprovider van je organisatie. De browser gaat dan meteen terug en rondt het inloggen af. Er is geen tweede klik nodig om de app toe te staan.

Dit wordt je ongeveer één keer per maand op elk apparaat gevraagd, wanneer een app opnieuw inlogt. Een app die haar aanmelding op de achtergrond vernieuwt, krijgt deze vraag nooit.

Wat er gebeurt

  1. Een app op je computer opent je browser op frem.sh om je in te loggen, bijvoorbeeld bij je eerste git push met Git Credential Manager of wanneer je fremforge auth login uitvoert.
  2. Als je in de afgelopen 5 minuten niet hebt bevestigd dat jij het bent, toont frem.sh Bevestig dat jij het bent. De pagina noemt de app en zegt waar die draait (voor een app die niet op je eigen computer draait: “Deze draait op” met de host). Ze toont “Ga alleen verder als je deze aanmelding zelf hebt gestart.” en linkt naar deze pagina (“Waarom wordt dit gevraagd?”).
  3. Je bevestigt (zie Zo bevestig je).
  4. De browser keert terug naar de app en het inloggen wordt afgerond. Je klikt niet nog een keer op Authorize.

Een bevestiging geldt hooguit 5 minuten en wordt verbruikt door die ene aanmelding. Logt een tweede app een minuut later opnieuw in, dan bevestig je opnieuw.

Is dit de app die ik heb gestart?

frem.sh noemt een app alleen gewoon bij naam als het de app vertrouwt op basis van haar client-ID: Git Credential Manager, git-credential-oauth en tea (ingebouwd in Forgejo), en de fremforge-CLI en de MCP-connector van fremforge. Elke andere app wordt getoond met haar naam tussen aanhalingstekens en haar eigenaar, bijvoorbeeld:

‘Example App’, geregistreerd door example-owner, wil zich aanmelden bij je account. Bevestig dat jij het bent om verder te gaan.

Staat de naam tussen aanhalingstekens met “geregistreerd door”, dan is het een app van derden. Controleer dat je deze aanmelding zelf vanuit die app hebt gestart. Zo niet, ga dan niet verder: sluit de pagina. Mogelijk probeert iemand via een zelf geregistreerde app een token voor je account te krijgen. Laat het de beheerder van je organisatie of security@frem.sh weten.

Waarom frem.sh het vraagt

Deze apps loggen in zonder clientgeheim (client secret). Een programma dat op miljoenen laptops is geïnstalleerd, kan geen geheim bewaren, dus noemt de OAuth-standaard het een openbare client. Dat heeft één gevolg: frem.sh kan de echte Git Credential Manager niet onderscheiden van een willekeurig ander programma op een computer dat beweert het te zijn.

Als iemand je browsersessie had gestolen (een sessiecookie, bijvoorbeeld via malware of een gedeelde computer), zou die dus een eigen klein programma kunnen draaien, zich voordoen als Git Credential Manager of de fremforge-CLI en een token voor je account krijgen, zonder ooit je wachtwoord of je tweede factor te kennen.

Bevestigen dat jij het bent, dicht dat gat. Een gestolen sessie alleen levert geen token meer op: de persoon moet aanwezig zijn met een eigen passkey, beveiligingssleutel, authenticator-app, wachtwoord of identiteitsprovider. Het is hetzelfde idee als de “sudo mode” van GitHub, die je vraagt opnieuw te authenticeren vóór gevoelige acties.

Welke apps

Elke app die zonder clientgeheim inlogt bij frem.sh, waaronder:

  • Git Credential Manager (GCM), ingesteld zoals in Veilig inloggen
  • git-credential-oauth
  • tea, de opdrachtregelclient voor Forgejo en Gitea
  • de fremforge-CLI: fremforge auth login, zowel inloggen in de browser (loopback) als inloggen met een apparaatcode. Zie Authenticatie van de CLI.
  • connectors van AI-assistenten die namens jou inloggen bij frem.sh, zie MCP
  • elke OAuth-app van derden die als openbare client is geregistreerd

Apps met een clientgeheim blijven ongewijzigd. Een OAuth-app die op een server draait en zich authenticeert met een clientgeheim (een vertrouwelijke client), logt je in zoals voorheen, met het gebruikelijke toestemmingsscherm.

Hoe vaak

Ongeveer één keer per maand op elk apparaat. Je bevestigt wanneer een app opnieuw inlogt, niet elke keer dat je git gebruikt:

  • Een app die haar aanmelding op de achtergrond vernieuwt, krijgt deze vraag nooit. Het toegangstoken van Git Credential Manager is 24 uur geldig en het vernieuwingstoken 30 dagen. Binnen die 30 dagen vernieuwt GCM het token stil bij je volgende push of fetch.
  • De tokens van 1 uur van de fremforge-CLI worden op dezelfde manier stil vernieuwd.
  • Een aanmelding gebruiken die een app al heeft, leidt nooit tot de vraag. Pushes, fetches en aanroepen van de CLI en connectors met een bestaande aanmelding gaan door zoals voorheen.

De vraag komt wanneer een app de browser opent om opnieuw in te loggen. Dat gebeurt:

  • bij de eerste aanmelding op een nieuw apparaat, bijvoorbeeld een nieuwe laptop of een nieuwe WSL-installatie
  • nadat je bent uitgelogd, of nadat je de toegang van de app hebt verwijderd onder Geautoriseerde OAuth2 applicaties op frem.sh/user/settings/applications
  • na 30 dagen zonder gebruik, wanneer het vernieuwingstoken is verlopen

Zo bevestig je

Je hebtJe bevestigt met
Een passkey of beveiligingssleutelGebruik je passkey of beveiligingssleutel. Gesynchroniseerde passkeys (bijvoorbeeld in iCloud-sleutelhanger, Google Wachtwoordmanager of een wachtwoordmanager) werken ook.
Een authenticator-app (TOTP)Een code van 6 cijfers uit de app. Heb je ook een passkey, dan staat het codeveld onder de passkey-knop.
Een wachtwoord, maar nog geen tweede factorJe wachtwoord voor frem.sh
Single sign-on via je organisatieEén klik: Opnieuw aanmelden met …, met de naam van je identiteitsprovider. Heb je ook een passkey of authenticator-app, dan is dit een link daaronder.

Single sign-on: één klik, een verse aanmelding. frem.sh vraagt je identiteitsprovider om een verse aanmelding en telt die alleen als de provider je echt zojuist heeft aangemeld: iemand met een gestolen frem.sh-sessie kan dat niet. Voor Git Credential Manager, tea of de CLI heb je op frem.sh geen passkey of tweede factor nodig. Vereist je organisatie een tweede factor bij de identiteitsprovider, dan rond je die daar zoals gewoonlijk af.

Annuleer je bij je identiteitsprovider, of liet die je niet opnieuw aanmelden (de provider hergebruikte een eerdere aanmelding), dan kom je terug op de pagina Bevestig dat jij het bent, die dat meldt en je het opnieuw laat proberen.

Met een wachtwoord maar zonder tweede factor toont de pagina ook: “Stel tweefactorauthenticatie in, zodat je de volgende keer kunt bevestigen met een code of een beveiligingssleutel.” Met alleen single sign-on toont ze: “Een passkey instellen of een andere tweede factor, zodat je hier de volgende keer kunt bevestigen.” Dat is optioneel: opnieuw aanmelden bij je identiteitsprovider is genoeg.

Je hebt 5 pogingen in 15 minuten. Daarna vraagt de pagina je het over 15 minuten opnieuw te proberen.

Ik heb geen tweede factor

  • Je hebt een wachtwoord voor frem.sh: bevestig met je wachtwoord. Stel daarna een passkey of tweefactorauthenticatie in, zodat je de volgende keer daarmee bevestigt. Tot je er één keer mee hebt bevestigd, blijft de pagina je wachtwoord naast de nieuwe factor aanbieden.
  • Je logt alleen in via de single sign-on van je organisatie: klik op Opnieuw aanmelden met … voor je identiteitsprovider. Meer hoeft niet.
  • Je hebt geen van beide: de pagina vraagt je contact op te nemen met de beheerder van je organisatie of met support@frem.sh. Wij helpen je een tweede factor in te stellen.

Problemen oplossen

  • Het inloggen mislukte nadat ik had bevestigd. De bevestiging wordt verbruikt door één aanmelding en geldt 5 minuten. Is de app intussen verlopen (time-out), voer de opdracht dan opnieuw uit (bijvoorbeeld git fetch) en bevestig nog een keer.
  • "… heeft je niet opnieuw laten aanmelden, dus kon niet worden bevestigd dat jij het bent." Je identiteitsprovider hergebruikte een eerdere aanmelding in plaats van het je opnieuw te vragen. Probeer het nog een keer. Blijft het gebeuren, laat het je beheerder weten: de provider negeert het verzoek van frem.sh om een verse aanmelding.
  • “Je organisatie vereist een tweede factor bij … en die is niet bevestigd.” De identiteitsprovider van je organisatie is ingesteld om een tweede factor te vereisen en heeft er geen gemeld. Meld je opnieuw aan en rond daar de stap met de tweede factor af.
  • “Je hebt deze passkey of code in deze sessie ingesteld, dus die kan hier de aanmelding van een app niet bevestigen.” Een factor die je net hebt toegevoegd, kan de aanmelding van een app pas bevestigen nadat je één keer op een andere manier hebt bevestigd dat jij het bent. Zo kan iemand met een gestolen sessie geen passkey toevoegen en die gebruiken. Wachten is niet nodig: gebruik één keer een factor die je al had, je wachtwoord of Opnieuw aanmelden met … voor je identiteitsprovider. Daarna werkt de nieuwe passkey gewoon, op elk apparaat.
  • Ik krijg de vraag elke dag. Controleer of Git Credential Manager zijn token kan opslaan: zie de instelling credential.credentialStore in stap 4 van Veilig inloggen. Zonder werkende opslag heeft GCM geen vernieuwingstoken om te hergebruiken en logt het elke keer opnieuw in.
  • Een script of CI-job werkt niet meer. Jobs die zonder toezicht draaien, horen geen interactieve aanmelding te gebruiken. Gebruik een persoonlijk toegangstoken of Forgejo Actions OIDC; die worden hierdoor niet geraakt.