node.js - Node https.Agent v prehliadači
Časť môjho npm modulu (typescript) používa axios na vykonávanie webových požiadaviek. Jeden z možných endpointov používa certifikáty na autentifikáciu. Pre tento scenár odovzdávam new https.Agent do axiosu, aby som poslal informácie o certifikátoch. Všetko funguje správne, ak sa modul používa v rámci Node aplikácie.
Problém je v tom, že keď sa snažím použiť svoj modul v prostredí prehliadača. Keď je v prehliadači, modul https neexistuje a nemôžem použiť svoj modul.
- Existuje nejaký spôsob, ako použiť modul
httpsv prehliadači? - Ak nie - dá sa
httpsnejako zahrnúť do môjho modulu? Musím v tomto prípade použiť nejaký bundler (napríklad Rollup) na zostavenie TypeScript modulu?
Odpoveď č. 1
Nemôžete to urobiť. Väčšina prehliadačov podporuje autentifikáciu pomocou TLS klientského certifikátu, ale funguje to inak: používateľovi sa zobrazí okno a je požiadaný, aby vybral certifikát, ktorým sa autentifikuje. Je to podobný príbeh ako fungovanie cookies - HttpOnly cookies sa nedajú jednoducho manipulovať z JS na strane klienta.
Ak chcete TLS autentifikáciu klienta v prehliadači, ste na milosť a nemilosť výrobcu prehliadača.