"Normale" potrebbe essere la scelta sbagliata di parole per la tua domanda. La vera domanda è ... "È sicuro?"
Rompendo la domanda in parti diverse, ecco la mia risposta a una risposta:
1. È sicuro che un sito mi fornisca una chiave API?
Fornire la propria chiave API non è un problema, poiché è la tua chiave. Questo è vero finché la pagina viene pubblicata utilizzando https. La pubblicazione della pagina non crittografata consentirebbe a chiunque tra te e il server web di vedere anche la tua chiave API.
2. Una chiave API può essere passata tramite URL e rimanere segreta?
No. Passare una chiave API tramite l'URL significa che la chiave è memorizzata nei log del server, nella cronologia di un browser, visibile alle estensioni del browser, copiata / incollata accidentalmente da un utente, ecc. Non è più un segreto. Questo è vero anche se la pagina viene pubblicata tramite https.
3. Una chiave API deve essere tenuta segreta?
Questa domanda potrebbe essere una buona da esplorare. Forse il servizio a cui ti stai riferendo fornisce una chiave API e una chiave segreta. La chiave API può essere esposta tramite URL ma la chiave segreta deve essere utilizzata per calcolare una determinata intestazione che deve anche accompagnare la richiesta.
Un altro esempio potrebbe essere un'API che dovrebbe essere chiamata tramite JavaScript. In questo caso, qualsiasi cosa nel codice sarà esposta al client. Di nuovo, il servizio fornito potrebbe aspettarsi che una chiave derivata dalla tua chiave segreta venga passata tramite il servizio.
In alternativa, forse nessuna delle chiavi è segreta, ma il servizio utilizza la whitelist degli indirizzi IP per garantire che le chiavi possano essere utilizzate solo dal server. Potrebbero anche eseguire il controllo del nome host e consentire all'utente di specificare nomi host validi nel proprio account per i quali è possibile utilizzare la chiave.
Riepilogo
In definitiva, la tecnica che un servizio sceglie di utilizzare per proteggere le sue chiavi e le sue chiavi segrete deve corrispondere alla necessità di mantenerle segrete, o alla necessità di proteggere gli utenti non autorizzati dal chiamare il servizio. In alcuni casi, non importa se qualcuno usa le tue chiavi per chiamare il servizio.