Make token scan read-only
This commit is contained in:
+25
-11
@@ -10,7 +10,8 @@ Sa dwa miejsca, w ktorych moga byc zapisane tokeny:
|
||||
- lokalny plik `~/dev/workspace/rv/tokens/tokens.json`
|
||||
|
||||
Jesli remote URL zawiera `LOGIN:TOKEN@...`, to remote jest zrodlem prawdy.
|
||||
Launcher moze wtedy zeskanowac repo i zapisac ten token do `tokens.json`.
|
||||
Launcher moze wtedy pokazac stan przez `tokens scan` albo jawnie zapisac token
|
||||
do `tokens.json` przez `tokens update --from remotes`.
|
||||
|
||||
Jesli remote nie ma tokena, `tokens.json` moze byc uzyty jako lokalny store
|
||||
przy operacjach `tokens write` i `tokens update --from store`.
|
||||
@@ -34,6 +35,9 @@ Tokeny sa trzymane per endpoint serwera, a dopiero pod nim per user i token:
|
||||
"t1": "SECRET",
|
||||
"t2": {
|
||||
"value": "SECRET",
|
||||
"remote": "r1",
|
||||
"org": "edu-tools",
|
||||
"repo": "rv-launcher",
|
||||
"expires_at": "2026-05-01T12:00:00"
|
||||
}
|
||||
}
|
||||
@@ -50,6 +54,8 @@ To pozwala odroznic:
|
||||
- endpoint, czyli `scheme + host + port`
|
||||
- uzytkownikow na danym serwerze
|
||||
- wiele tokenow dla jednego usera
|
||||
- nazwe remota, ktora jest identyfikatorem parowania z repo
|
||||
- opcjonalne `org` i `repo` zapamietane z remote URL-a
|
||||
- opcjonalna date wygasniecia `expires_at` dla tokena
|
||||
|
||||
## Skanowanie remota
|
||||
@@ -58,10 +64,10 @@ Przy `tokens scan` launcher:
|
||||
|
||||
- czyta wszystkie remote URL-e w repo
|
||||
- czyta `tokens.json`
|
||||
- laczy remote i store w pary po endpoincie serwera
|
||||
- laczy remote i store w pary po endpoincie serwera i nazwie remota
|
||||
- wybiera tylko `http` i `https`
|
||||
- jesli URL ma `LOGIN:TOKEN@...`, wyciaga login i token
|
||||
- zapisuje je pod odpowiednim endpointem w `tokens.json`
|
||||
- niczego nie zapisuje do `tokens.json`
|
||||
|
||||
Endpoint jest liczony z:
|
||||
|
||||
@@ -69,7 +75,7 @@ Endpoint jest liczony z:
|
||||
- host
|
||||
- port
|
||||
|
||||
Przy skanowaniu launcher zapisuje tez metadane serwera:
|
||||
Przy `tokens update --from remotes` launcher zapisuje tez metadane serwera:
|
||||
|
||||
- `type`
|
||||
- `scheme`
|
||||
@@ -90,17 +96,15 @@ Dzialanie:
|
||||
|
||||
- skanuje remote URL-e w repo
|
||||
- czyta wpisy z `tokens.json`
|
||||
- laczy oba zrodla po endpoincie serwera
|
||||
- zapisuje znalezione tokeny do `tokens.json`
|
||||
- zapisuje je per endpoint serwera
|
||||
- laczy oba zrodla po endpoincie serwera i nazwie remota
|
||||
- wypisuje tabele `tokens`
|
||||
|
||||
Tabela `tokens` pokazuje jeden logiczny wiersz na token. Remote i `tokens.json`
|
||||
sa laczone po endpoincie, userze i wartosci tokena.
|
||||
Tabela `tokens` pokazuje jeden logiczny wiersz na remote tokena. Remote i
|
||||
`tokens.json` sa laczone po endpoincie serwera oraz kolumnie `remote`.
|
||||
|
||||
Znacznik w `token_ref`:
|
||||
|
||||
- `*` - token jest w remote i `tokens.json`, uprawnienia zostaly wczytane
|
||||
- `*` - token jest w remote i `tokens.json`, remote/user/token sa zgodne, uprawnienia zostaly wczytane
|
||||
- `R` - token jest tylko w remote
|
||||
- `S` - token jest tylko w `tokens.json`
|
||||
- `!` - blad wczytania uprawnien dla sparowanego tokena
|
||||
@@ -140,6 +144,10 @@ przyklad `e59cc...13be`.
|
||||
- `?` - token nie jest sparowany jako `*`, wiec nie sprawdzamy uprawnien
|
||||
- `!` - blad sprawdzania API
|
||||
|
||||
`tokens scan` jest read-only. Jezeli token jest tylko w remote, tabela pokaze
|
||||
`R` i maski `?????`/`????`. Dopiero jawne `tokens update --from remotes`
|
||||
zapisuje token oraz metadane `remote`, `org` i `repo` do `tokens.json`.
|
||||
|
||||
Przyklad:
|
||||
|
||||
```bash
|
||||
@@ -160,6 +168,7 @@ Wynik zawiera:
|
||||
- port
|
||||
- users
|
||||
- tokens
|
||||
- remote/org/repo przy tokenie, jezeli sa zapisane
|
||||
|
||||
Oraz liste userow i nazw tokenow dla kazdego endpointu.
|
||||
|
||||
@@ -226,6 +235,10 @@ Dozwolone kierunki:
|
||||
- `tokens update --from remotes`
|
||||
- `tokens update --from store`
|
||||
|
||||
`tokens update --from remotes` kopiuje tokeny z remote URL-i repo do
|
||||
`tokens.json`. `tokens update --from store` kopiuje wybrany token z
|
||||
`tokens.json` do remote URL-a repo.
|
||||
|
||||
Przyklad:
|
||||
|
||||
```bash
|
||||
@@ -240,7 +253,7 @@ Domyslnie launcher nie zgaduje przy konflikcie.
|
||||
Jesli:
|
||||
|
||||
- token jest w repo, ale nie ma go w `tokens.json`
|
||||
uzyj `tokens scan`
|
||||
uzyj `tokens update --from remotes`
|
||||
- token jest w `tokens.json`, ale nie ma go w repo
|
||||
uzyj `tokens write`
|
||||
- token jest i tu, i tu, ale wartosci sa rozne
|
||||
@@ -256,6 +269,7 @@ Przy `tokens write` i `tokens update --from store` mozna uzyc:
|
||||
Najbezpieczniejszy model pracy:
|
||||
|
||||
- `tokens scan` do zczytywania danych z remote'ow
|
||||
- `tokens update --from remotes` do jawnego zapisania tokenow z remote'ow w `tokens.json`
|
||||
- `tokens read` do podgladu store
|
||||
- `tokens stats` do zbiorczego przegladu per endpoint
|
||||
- `tokens write` do jawnego wpisania auth do remota
|
||||
|
||||
Reference in New Issue
Block a user