Condivisione del codice con il fornitore API per la revisione senza concedere loro l'accesso al server o al repository

1

Una società privata mi ha permesso di utilizzare la loro API per effettuare chiamate API REST (utilizzando l'autenticazione di base) sul lato server della mia applicazione. Hanno anche chiesto di vedere la mia implementazione prima di poter andare in diretta.

Dal loro punto di vista, comprendo che vorrebbero assicurarsi che le chiavi API siano sufficientemente sicure.

Dal punto di vista mio preferirei non concedere loro l'accesso al mio codice server o al mio repository GitHub, ma piuttosto, come hanno chiesto, mostra loro semplicemente come è stato implementato.

Qual è il modo "normale" per farlo? Come posso ottenere questo risultato senza essere scortese?

Stiamo comunicando tramite e-mail; è fuori linea solo inviare un file .js dal mio server node.js che mostra come è stato implementato, senza che lo vedano dal vivo o che abbia accesso al mio server / repo?

Capisco che questa domanda sia simile a Consegnare il codice sorgente al cliente e Freelance - Condividi il codice sorgente? ma non sembrano per rispondere alla mia domanda.

    
posta garrettmac 12.06.2016 - 00:56
fonte

1 risposta

4

Potresti scrivere un livello di astrazione API, a cui la tua applicazione effettua chiamate per le comunicazioni API e attraverso cui tutte le comunicazioni API avvengono. Quindi dovresti solo mostrare il codice del livello di astrazione.

Se ciò sembra ancora impreciso, scrivi una dimostrazione di concetto, la versione "molto alpha" che fa alcune nozioni di base, mostralo, ottieni l'approvazione, probabilmente con l'accordo che non estenderai il livello di astrazione senza inviarlo di nuovo (quindi rendilo abbastanza completo la prima volta). Poi continua il tuo sviluppo, migliorando la tua applicazione sopra il livello di astrazione ma mantieni l'integrità del livello (e quindi il tuo).

Perché, sicuramente, i tuoi host non vorranno essere disturbati a rivedere ogni nuova revisione della tua app, vero?

Aggiornamento: Con "livello di astrazione" intendo codificare le tue routine che comunicano con le loro API. Sia la tua app di proof-of-concept che l'app che sviluppi, comunicano solo con le tue routine, quelle che i tuoi host hanno approvato. Quindi dovrebbero davvero fare di più che replicare le chiamate API - dovrebbero presentare gli usi funzionali del servizio dell'host a un livello leggermente più alto, presentando funzioni utili del servizio host all'applicazione. Sarebbe l'ideale se la tua gestione degli errori a livello di API fosse qui, per esempio. Quindi l'host vedrà come userete la loro API, senza dover utilizzare ciò che state usando. Le loro preoccupazioni saranno probabilmente su quanto sia difficile sbattere i loro server, f / ex, ea quali condizioni, gli errori sono un probabile caso di preoccupazione. Maggiore è il tuo codice "semplice" che includi, 1) meglio è probabile che si sentano, e 2) il lavoro di follow-on che dovrai fare per quanto riguarda il servizio mentre sviluppi la tua applicazione. Vincerai entrambi.

    
risposta data 12.06.2016 - 02:14
fonte

Leggi altre domande sui tag