apri l'applicazione web dall'applicazione desktop

1

Il dottore è l'utente finale di questa applicazione Dottore apre l'applicazione desktop sul suo PC che non è sviluppata da noi. Forniamo un'interfaccia per l'applicazione desktop tramite le DLL di interoperabilità. Interfaccia di chiamata per applicazioni desktop e tramite esso chiamano il nostro exe di integrazione che include alcuni servizi che si trovano sul pc del medico. Questa integrazione crea ulteriormente id di sessione, convalida il certificato sul pc del medico con il nostro database e infine apre il browser con la nostra applicazione web creata in angularjs.

Ora spiegherò quali problemi dovremo affrontare a causa di questo ..

in precedenza funzionava perché webapplication era in http e quindi era il servizio wcf aka localhost in http. Il cliente ha detto che non possiamo ospitare webapplication in http e abbiamo dovuto usare https. Ma l'applicazione web https non può parlare con il servizio locale ospitato in http, quindi abbiamo dovuto cambiare per usare https per comunicare con i servizi localhost. Quindi abbiamo dovuto presentare certificati autofirmati. Anche questo funzionava bene fino al mese scorso, quando Chrome è venuto con la politica che non permetterà il certificato di localhost e improvvisamente sul browser otteniamo un errore nell'accettare certifcate.

cosa fa il servizio localhost?

a. Ottieni il token di accesso passando l'ID di sessione per accedere all'applicazione dall'applicazione desktop.

b. Passa il messaggio XML all'applicazione desktop per firmare

c. Ottieni stampanti disponibili nella rete.

d. Evento di chiusura del browser intimo per applicazione desktop per chiudere la sessione.

Cosa dobbiamo fare ora

Trova un modo per evitare totalmente il servizio di localhost, quindi dobbiamo cambiare architettura o iniziare con l'approccio

    
posta DevelopmentIsMyPassion 09.08.2017 - 12:33
fonte

1 risposta

1

Ci siamo imbattuti in un problema simile nel software su cui lavoro. Abbiamo finito per utilizzare lo stesso approccio come Spotify (la parte importante è in grassetto):

With the requirement to use HTTPS, a valid SSL certificate is needed to avoid browsers complaining. Spotify has worked around this problem by registering a domain (*.spotilocal.com) that merely points to 127.0.0.1. But rather than connecting to the top domain, they use a wildcard domain and connect to a random subdomain each time (for example abcrjdknsa.spotilocal.com). The reason for this is to avoid the browser’s max connection limit per domain, enabling more tabs in the browser to concurrently use their API at the cost of an extra DNS lookup.

L'implementazione di questo approccio richiede due passaggi:

  1. Registra un dominio e acquista un certificato per questo.
  2. Nell'installer del servizio locale, modifica il file hosts per indirizzare il dominio su 127.0.0.1.

Come puoi vedere, questo non richiede alcuna modifica al tuo codice client o server, solo al programma di installazione.

    
risposta data 09.08.2017 - 18:43
fonte

Leggi altre domande sui tag