GIT - come confermare la proprietà del repository

-4

Sto avviando un nuovo servizio che sarebbe un'astrazione in cima ai repository git. Fondamentalmente, un utente dovrebbe iscriversi e Aggiungi progetto (repository GitHub / GitLab / BitBucket).

La parte difficile per me è come verificare che la persona abbia le autorizzazioni appropriate sul repository che stanno aggiungendo?

Stavo pensando a un metodo per generare un hash temporaneo che dovrebbe quindi essere eseguito come un file specifico nel ramo protetto (principale?) nel repository. Se l'hash corrisponde, è sicuro che l'utente è proprietario di quel repository.

Dato che ho una conoscenza limitata in questo settore, c'è un modo migliore? Cosa consiglieresti?

    
posta falnyr 01.12.2018 - 22:00
fonte

1 risposta

2

Potresti togliere una pagina dal gioco che viene utilizzato per dimostrare la proprietà di, qualsiasi cosa digitale, davvero.

  • Per provare la proprietà di un numero di telefono cellulare, il modo tradizionale è inviare un messaggio di testo con un token non cancellabile a quel numero e confermare che il richiedente sappia quel token.

  • Per provare la proprietà di un numero di telefono fisso, fai lo stesso con un messaggio vocale.

  • Per dimostrare la proprietà di un account e-mail, si invia un'email con un token non cancellabile a quell'account e-mail e si conferma che il richiedente sia a conoscenza del token. È possibile semplificare questo incorporando il token in un link di conferma che il richiedente deve solo fare clic su.

  • Per provare la proprietà di un sito web, devi dire al ricorrente di inserire un file con un determinato nome e contenuto (un token non cancellabile) in un determinato percorso e poi emettere una richiesta GET per verificarne l'esistenza e il contenuto.

  • Per dimostrare la proprietà di un dominio, devi dire al richiedente di inserire un record con un certo nome e contenuto (un token indimenticabile) in un sottodominio (ad esempio un record TXT con il token segreto su iownthisdomainreallyiswear.example.com ) e quindi emettere una richiesta DNS per verificarne l'esistenza e il contenuto.

  • Funziona anche per dimostrare la proprietà degli indirizzi fisici: invia una lettera con un token non cancellabile tramite posta verificata, quindi verifica che il richiedente conosca il token.

Quindi, per un repository Git, potresti dire al ricorrente di inserire un blob con determinati contenuti nel repository. Non è necessario che questo blob sia raggiungibile tramite un albero, un commit, un tag o un ramo. Hai solo bisogno del blob. In questo modo, non inquina la cronologia o il repository. Devi solo assicurarti di non eseguire il garbage collector prima che il processo di verifica sia terminato, altrimenti l'oggetto verrà raccolto.

Ovviamente, non tutti sanno come mettere un blob in un repository Git, quindi potresti semplicemente dire loro di creare un ramo usa e getta con un solo commit che ha un solo file.

    
risposta data 02.12.2018 - 12:59
fonte

Leggi altre domande sui tag