git-credential(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '{{manpage|section=1|title=git-credential}} == NAMN == git-credential - Hämta och lagra användaruppgifter == SYNOPSIS == '''git credential''' (fill|approve|reject|capability) == BESKRIVNING == Git har ett internt gränssnitt för att lagra och hämta inloggningsuppgifter från systemspecifika hjälpare, samt för att fråga användaren efter användarnamn och lösenord. Kommandot `git-credential` exponerar detta gränssnitt för skript som kanske vill hämta, lagra e...')
(Ingen skillnad)

Versionen från 21 april 2025 kl. 10.04

Mall:manpage

NAMN

git-credential - Hämta och lagra användaruppgifter

SYNOPSIS

git credential (fill|approve|reject|capability)

BESKRIVNING

Git har ett internt gränssnitt för att lagra och hämta inloggningsuppgifter från systemspecifika hjälpare, samt för att fråga användaren efter användarnamn och lösenord. Kommandot `git-credential` exponerar detta gränssnitt för skript som kanske vill hämta, lagra eller fråga efter inloggningsuppgifter på samma sätt som Git. Utformningen av detta skriptbara gränssnitt modellerar det interna C-API:et; se `credential.h` för mer bakgrundsinformation om koncepten.

`git-credential` tar ett "action"-alternativ på kommandoraden (ett av fill, approve eller reject) och läser en beskrivning av inloggningsuppgifterna från stdin (se INPUT/OUTPUT FORMAT).

Om åtgärden är fill kommer `git-credential` att försöka lägga till attributen "username" och "password" till beskrivningen genom att läsa konfigurationsfiler, genom att kontakta eventuella konfigurerade inloggningsuppgiftshjälpare eller genom att fråga användaren. Attributen username och password i beskrivningen av inloggningsuppgifterna skrivs sedan till stdout tillsammans med de attribut som redan tillhandahållits.

Om åtgärden är approve kommer `git-credential` att skicka beskrivningen till eventuella konfigurerade inloggningsuppgiftshjälpare, som kan lagra inloggningsuppgifterna för senare användning.

Om åtgärden är reject kommer `git-credential` att skicka beskrivningen till eventuella konfigurerade inloggningsuppgiftshjälpare, som kan radera eventuella lagrade inloggningsuppgifter som matchar beskrivningen.

Om åtgärden är capability kommer `git-credential` att annonsera eventuella funktioner som det stöder till standardutgången.

Om åtgärden är approve eller reject ska ingen utmatning ske.

TYPISK ANVÄNDNING AV GIT CREDENTIAL

Ett program som använder `git-credential` kommer vanligtvis att använda `git credential` enligt följande steg:

1. Generera en beskrivning av inloggningsuppgifterna baserat på kontexten.
   Om vi till exempel vill ha ett lösenord för
   <https://example.com/foo.git>, kan vi generera följande beskrivning
   av inloggningsuppgifterna (glöm inte den tomma raden i slutet; den
   talar om för `git credential` att programmet har matat in all
   information det har):
       protocol=https
       host=example.com
       path=foo.git
2. Be `git-credential` att ge oss ett användarnamn och lösenord för denna
   beskrivning. Detta görs genom att köra `git credential fill` och mata
   in beskrivningen från steg (1) till dess standardinmatning. Den
   fullständiga beskrivningen av inloggningsuppgifterna (inklusive själva
   inloggningsuppgifterna, dvs. inloggning och lösenord) kommer att
   produceras på standardutgången, som:
       protocol=https
       host=example.com
       username=bob
       password=secr3t
   I de flesta fall innebär detta att de attribut som anges i inmatningen
   kommer att upprepas i utmatningen, men Git kan också ändra
   beskrivningen av inloggningsuppgifterna, till exempel genom att ta bort
   attributet `path` när protokollet är HTTP(s) och
   `credential.useHttpPath` är falskt.
   Om `git credential` kände till lösenordet, kan detta steg ha skett utan
   att användaren faktiskt behövde skriva in lösenordet (användaren kan ha
   skrivit in ett lösenord för att låsa upp nyckelringen istället, eller
   ingen användarinteraktion skedde om nyckelringen redan var upplåst)
   innan det returnerade `password=secr3t`.
3. Använd inloggningsuppgifterna (t.ex. anslut till URL:en med användarnamnet
   och lösenordet från steg (2)) och se om de accepteras.
4. Rapportera om lösenordet accepterades eller inte. Om inloggningsuppgifterna
   tillät att operationen slutfördes framgångsrikt, kan de markeras med
   åtgärden "approve" för att tala om för `git credential` att återanvända
   dem vid nästa anrop. Om inloggningsuppgifterna avvisades under
   operationen, använd åtgärden "reject" så att `git credential` kommer
   att fråga efter ett nytt lösenord vid nästa anrop. I båda fallen ska
   `git credential` matas med den beskrivning av inloggningsuppgifterna
   som erhölls från steg (2) (som också innehåller de fält som
   tillhandahölls i steg (1)).

INPUT/OUTPUT FORMAT

`git credential` läser och/eller skriver (beroende på vilken åtgärd som används) information om inloggningsuppgifter i sin standardinmatning/utmatning. Denna information kan antingen motsvara nycklar för vilka `git credential` kommer att hämta inloggningsinformationen (t.ex. host, protocol, path), eller själva inloggningsuppgifterna som ska hämtas (username/password).

Inloggningsuppgifterna delas upp i en uppsättning namngivna attribut, med ett attribut per rad. Varje attribut specificeras av ett nyckel-värde-par, separerat av ett `=` (likhetstecken), följt av en nyrad.

Nyckeln kan innehålla alla bytes utom `=`, nyrad eller NUL. Värdet kan innehålla alla bytes utom nyrad eller NUL. En rad, inklusive den avslutande nyraden, får inte överstiga 65535 bytes för att tillåta effektiva parsningar i implementeringarna.

Attribut vars nycklar slutar med C-liknande array-klammer `[]` kan ha flera värden. Varje instans av ett flervärdesattribut bildar en ordnad lista av värden - ordningen på de upprepade attributen definierar ordningen på värdena. Ett tomt flervärdesattribut (`key[]=\n`) rensar eventuella tidigare poster och återställer listan.

I alla fall behandlas alla bytes som de är (dvs. det finns ingen citering, och man kan inte överföra ett värde med nyrad eller NUL i det). Listan med attribut avslutas med en tom rad eller filslut.

Git förstår följande attribut:

protocol

Protokollet över vilket inloggningsuppgifterna kommer att användas (t.ex.
 `https`).

host

Värdnamnet för en nätverksinloggningsuppgift. Detta inkluderar portnumret
 om ett sådant angavs (t.ex. "example.com:8088").

path

Sökvägen med vilken inloggningsuppgifterna kommer att användas. T.ex. vid
 åtkomst till ett fjärranslutet https-arkiv, kommer detta att vara arkivets
 sökväg på servern.

username

Inloggningsuppgiftens användarnamn, om vi redan har ett (t.ex. från en URL,
 konfigurationen, användaren eller från en tidigare körd hjälpare).

password

Inloggningsuppgiftens lösenord, om vi ber att det ska lagras.

password_expiry_utc

Genererade lösenord som t.ex. en OAuth-åtkomsttoken kan ha ett
 utgångsdatum. Vid läsning av inloggningsuppgifter från hjälpare ignorerar
 `git credential fill` utgångna lösenord. Representeras som Unix-tid UTC,
 sekunder sedan 1970.

oauth_refresh_token

En OAuth-uppdateringstoken kan följa med ett lösenord som är en
 OAuth-åtkomsttoken. Hjälpare måste behandla detta attribut som konfidentiellt
 likt lösenordsattributet. Git självt har inget speciellt beteende för detta
 attribut.

url

När detta speciella attribut läses av `git credential` parsas värdet som
 en URL och behandlas som om dess beståndsdelar lästes in (t.ex.
 `url=https://example.com` skulle bete sig som om `protocol=https` och
 `host=example.com` hade angetts). Detta kan hjälpa anropare att undvika
 att själva behöva parsa URL:er.
 Observera att specificering av ett protokoll är obligatoriskt och om URL:en
 inte specificerar ett värdnamn (t.ex. "cert:///path/to/file") kommer
 inloggningsuppgifterna att innehålla ett värdnamnsattribut vars värde är
 en tom sträng.
 Komponenter som saknas i URL:en (t.ex. det finns inget användarnamn i
 exemplet ovan) kommer att lämnas odefinierade.

authtype

Detta indikerar att det aktuella autentiseringsschemat ska användas.
 Vanliga värden för HTTP och HTTPS inkluderar `basic`, `bearer` och
 `digest`, även om det senare är osäkert och inte bör användas. Om
 `credential` används kan detta sättas till en godtycklig sträng som är
 lämplig för det aktuella protokollet (vanligtvis HTTP).
 Detta värde ska inte skickas om inte lämplig funktion (se nedan)
 tillhandahålls i inmatningen.

credential

Den förkodade inloggningsuppgiften, lämplig för det aktuella protokollet
 (vanligtvis HTTP). Om denna nyckel skickas är `authtype` obligatoriskt,
 och `username` och `password` används inte. För HTTP sammanfogar Git
 värdet för `authtype` och detta värde med ett enda mellanslag för att
 bestämma `Authorization`-huvudet.
 Detta värde ska inte skickas om inte lämplig funktion (se nedan)
 tillhandahålls i inmatningen.

ephemeral

Detta booleska värde indikerar, om sant, att värdet i fältet `credential`
 inte ska sparas av inloggningsuppgiftshjälparen eftersom dess användbarhet
 är tidsbegränsad. Till exempel beräknas ett HTTP Digest `credential`-värde
 med hjälp av en nonce och återanvändning av det kommer inte att leda till
 framgångsrik autentisering. Detta kan också användas i situationer med
 kortvariga (t.ex. 24-timmars) inloggningsuppgifter. Standardvärdet är falskt.
 Inloggningsuppgiftshjälparen kommer fortfarande att anropas med `store`
 eller `erase` så att den kan avgöra om operationen lyckades.
 Detta värde ska inte skickas om inte lämplig funktion (se nedan)
 tillhandahålls i inmatningen.

state[]

Detta värde tillhandahåller ett opakt tillstånd som kommer att skickas
 tillbaka till denna hjälpare om den anropas igen. Varje olika
 inloggningsuppgiftshjälpare kan specificera detta en gång. Värdet bör
 innehålla ett prefix som är unikt för inloggningsuppgiftshjälparen och
 bör ignorera värden som inte matchar dess prefix.
 Detta värde ska inte skickas om inte lämplig funktion (se nedan)
 tillhandahålls i inmatningen.

continue

Detta är ett booleskt värde som, om aktiverat, indikerar att denna
 autentisering är en icke-slutgiltig del av ett flerstegs
 autentiseringssteg. Detta är vanligt i protokoll som NTLM och Kerberos,
 där två omgångar av klientautentisering krävs, och att sätta denna flagga
 gör det möjligt för inloggningsuppgiftshjälparen att implementera
 flerstegsautentiseringssteget. Denna flagga ska endast skickas om ett
 ytterligare steg krävs; det vill säga om ytterligare en autentiseringsomgång
 förväntas.
 Detta värde ska inte skickas om inte lämplig funktion (se nedan)
 tillhandahålls i inmatningen. Detta attribut är *enkelriktat* från en
 inloggningsuppgiftshjälpare för att skicka information till Git (eller
 andra program som anropar `git credential`).

wwwauth[]

När ett HTTP-svar tas emot av Git som innehåller ett eller flera
 `WWW-Authenticate`-autentiseringshuvuden, kommer dessa att skickas av Git
 till inloggningsuppgiftshjälpare.
 Varje `WWW-Authenticate`-huvudvärde skickas som ett flervärdesattribut
 `wwwauth[]`, där ordningen på attributen är densamma som de visas i
 HTTP-svaret. Detta attribut är *enkelriktat* från Git för att skicka
 ytterligare information till inloggningsuppgiftshjälpare.

capability[]

Detta signalerar att Git, eller hjälparen, i förekommande fall, stöder den
 aktuella funktionen. Detta kan användas för att tillhandahålla bättre, mer
 specifik data som en del av protokollet. En `capability[]`-direktiv måste
 föregå alla värden som beror på den, och dessa direktiv *bör* vara det
 första som annonseras i protokollet.
 Det finns för närvarande två funktioner som stöds. Den första är `authtype`,
 vilket indikerar att värdena `authtype`, `credential` och `ephemeral`
 förstås. Den andra är `state`, vilket indikerar att värdena `state[]` och
 `continue` förstås.
 Det är inte obligatoriskt att använda de ytterligare funktionerna bara
 för att funktionen stöds, men de bör inte tillhandahållas utan funktionen.

Icke-igenkända attribut och funktioner ignoreras tyst.

CAPABILITY INPUT/OUTPUT FORMAT

För `git credential capability` är formatet något annorlunda. Först görs ett `version 0`-meddelande för att indikera den aktuella versionen av protokollet, och sedan annonseras varje funktion med en rad som `capability authtype`. Inloggningsuppgiftshjälpare kan också implementera detta format, återigen med argumentet `capability`. Ytterligare rader kan läggas till i framtiden; anropare bör ignorera rader som de inte förstår.

Eftersom detta är en ny del av protokollet för inloggningsuppgiftshjälpare kan äldre versioner av Git, samt vissa inloggningsuppgiftshjälpare, inte stödja det. Om en avslutningsstatus som inte är noll tas emot, eller om den första raden inte börjar med ordet `version` och ett mellanslag, bör anropare anta att inga funktioner stöds.

Avsikten med detta format är att på ett entydigt sätt skilja det från utmatningen av inloggningsuppgifter. Det är möjligt att använda mycket enkla inloggningsuppgiftshjälpare (t.ex. inline-skalskript) som alltid producerar identisk utmatning. Att använda ett distinkt format gör det möjligt för användare att fortsätta använda denna syntax utan att behöva oroa sig för att korrekt implementera funktionsannonseringar eller oavsiktligt förvirra anropare som frågar efter funktioner.

GIT

Del av git(1)-sviten

KOLOFON

Den här sidan är en del av projektet *git* (Git distribuerat versionshanteringssystem). Information om projektet hittar du på ⟨http://git-scm.com/⟩. Om du har en felrapport för den här manualsidan, se ⟨http://git-scm.com/community⟩. Den här sidan hämtades från projektets uppströms Git-arkiv ⟨https://github.com/git/git.git⟩ den 2025-02-02. (Vid det tillfället var datumet för den senaste commit som hittades i arkivet 2025-01-31.) Om du upptäcker några renderingsproblem i den här HTML-versionen av sidan, eller om du tror att det finns en bättre eller mer aktuell källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i denna KOLOFON (som *inte* är en del av den ursprungliga manualsidan), skicka ett e-postmeddelande till man-pages@man7.org

Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/git-credential.1.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till PC-Service som har sponsrat Linux.se med webbhotell.