Domanda

Sto costruendo un'estensione cromata che interagirà con API di Salesforce-chatter.Ma per un utente utilizzando l'autenticazione OAUTH (Agent Agent), ho bisogno di incorporare il tasto client nella mia estensione.

Ciò causa qualsiasi problema di sicurezza?O c'è un modo per usare OAuth senza incorporare l'ID cliente nella mia estensione?

È stato utile?

Soluzione

L'ID del client deve essere incluso in una richiesta, quindi il fornitore sa che la richiesta è venuta da te, come ha già sottolineato il @matt Lacey. Normalmente, il fornitore emette inoltre un segreto del client confidenziale è inoltre incluso nella richiesta access token , quindi il provider può verificare che la tua app sia autorizzata a utilizzare ID cliente .

Extensions Chrome Esegui su una piattaforma aperta e la piattaforma stessa non fornisce metodi per l'autenticazione dell'estensione contro un server (quale forza salesforce dovrebbe anche supportare) o memorizzare saldamente le proprietà (sarebbe difficile, se non impossibile su un aperto Piattaforma), quindi mantenere il segreto del client confidenziale non è purtroppo possibile.

Poiché questo è un problema comune, è già considerato nella specifica OAuth (vedere Sezione 10.1 Autenticazione del cliente e 10.2 Impersonazione del cliente ). Il fornitore è quindi richiesto di eseguire ulteriori controlli, ma sul lato client non è possibile eseguire nulla per migliorare efficacemente la sicurezza.

Se vuoi un po 'di intuizione su come questo verrà gestito su dispositivi Android in futuro, controlla la mia risposta qui .

Altri suggerimenti

Devi incorporare l'ID cliente nell'estensione per consentire a Salesforce sapere cosa è l'app che sta cercando di autenticare.Questi ID client sono destinati a essere sempre memorizzati e passati al server, così finché lo stai memorizzando in modo sicuro che non ci dovrebbe essere un problema.

come Matt spiegato Se stai creando un'app confezionata, sarai costretto a includere l'ID cliente.Un'altra soluzione è scrivere l'app come app ospitata:

Qual è la differenza tra app confezionate e app ospitate?

L'inconveniente di questa è la complessità aggiunta di gestire un server Web.Ma consentirà una maggiore sicurezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top