AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Wege um APP mit PC-Server-Software zu verbinden

Wege um APP mit PC-Server-Software zu verbinden

Ein Thema von QuickAndDirty · begonnen am 11. Jun 2019 · letzter Beitrag vom 13. Jun 2019
Antwort Antwort
Seite 1 von 2  1 2   
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#1

Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:13
Hallo ich suche Wege um möglichst benutzerfreundlich eine App mit einer ganz bestimmten Server-PC-Anwendung zu verbinden,so dass die App mit der Software der Organisation zu der der App-Nutzer gehört verbunden wird.

-Aktuelles verfahren(ich suche aber ein besseres, wenn möglich):
1.Desktopsoftware der Organisation hinterlegt ihre Einstellungen (Server+Port+Benutzer+Passwort) auf dem Server des Herstellers unter dem Schlüssel von Organisationsname und Lizenznummer.
2.User der App gibt Organisationsname und Lizenznummer in der App ein, diese werden zum Suchen der Einstellungen auf dem Server des Herstellers verwendet.
3.Verbindungsdaten werden ausgetauscht der Server des Herstellers ist nicht mehr notwendig.
Nachteil: Organisationsnamen und Lizenznummern sind kompliziert einzugeben auf einem Smartphone.

-Übermitteln der Verbindungseinstellungen per SMS :
1.Desktopsoftware übermittelt die Verbindungseinstellungen, per SMS über das GSM modem...
2.App liest die SMS aus und übernimmt die Konfiguration.
Nachteil: Kaum eine organisation hat ein GSM Modem an ihren PCs. Und nicht alle Tabletts können SMS empfangen!

-Übermitteln der Verbindungseinstellungen per SMS+Pairingcode:
1.Desktopsoftware der Organisation hinterlegt ihre Einstellungen (Server+Port+Benutzer+Passwort) auf dem Server des Herstellers unter einem Pairingcode ab. Auch alle Telefonnummern der Smartphones der Benutzer werden hinterlegt.
2.HerstellerServer sendet SMS mit Pairingcode der zu den Einstellungen die hinterlegt wurden passt an alle Benutzer Smartphones.
3.App liest sms Aus und fordert unter verwendung des Pairingcode die Einstellungen vom HerstellerServer an.
Nachteil: Nicht alle Tabletts können SMS empfangen! Erhöhte Verantwortung beim Hersteller, evtl. erhöhte kosten. Viele Telefonnummern werden beim Hersteller gespeichert werden.

-Einstellungen per QRCode senden:
1.Desktopsoftware der Organisation erzeigt einen QR-Code mit verbindungsdaten (Server+Port+Benutzer+Passwort).
2.Der Code wird "IRGENDWIE" zu den Benutzern der App(jeder mit anderem benutzernamen..) übermittelt so das er auf einem Monitor, Papier oder einem 2.ten Handy angezeigt wird.
3.Benutzer scanned den Code mit der App.
Nachteil: Nicht alle Geräte haben einen Autofocus können also nicht scannen. Die übermittlung des QR-codes ist ein Problem.

-Übermitteln der Verbindungseinstellungen per humanreadable Pairingcode:
1.Desktopsoftware der Organisation hinterlegt ihre Einstellungen (Server+Port+Benutzer+Passwort) auf dem Server des Herstellers unter einem humanreadable Pairingcode ab.
2.Der Pairingcode wird "IRGENDWIE" den Benutzern mitgeteilt.
3.Benutzer gibt den Pairingcode in der App ein.
4.App fordert unter verwendung des Pairingcode die Einstellungen vom HerstellerServer an.
Nachteil: Humanreadable Pairingcodes müssten zeitlich begrenzt wirksam sein. Schließt falsche Eingaben durch den Benutzer nicht aus. Möglicherweise falsches Pairing durch vertipper.

-Übermitteln der Verbindungseinstellungen per WLAN-MAC als Pairingcode:
1.Desktopsoftware der Organisation hinterlegt ihre Einstellungen (Server+Port+Benutzer+Passwort) auf dem Server des Herstellers unter der MAC-Adresse des WLANs als Pairingcode ab.
2.Apps im selben WLAN fordert unter verwendung des Pairingcode die Einstellungen vom HerstellerServer an.
Nachteil: Desktopsoftware muss im selben WLAN betrieben werden, diese Software läuft aber zum Glück bei 99% aller Instanzen auf PCs mit kabelbasierten LAN. Benutzer der App muss im Gebäude sein...


Habt ihr noch Ideen oder Kritik?
Ich bin dabei das ganze auf
-Übermitteln der Verbindungseinstellungen per humanreadable Pairingcode
umzustellen. Aber ich hätte viel lieber was besseres.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (11. Jun 2019 um 15:18 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:25
Du hast ja schon fast Alles aufgeschrieben.

Wenn ich den Kern der Sache richtig sehe suchst Du nach Wegen um Zertifikate/Token/ o.ä. auf ein bestimmtes Device zu bekommen, bzw. zwischen 2 Devices zu koppeln, richtig ?

Vielleicht wäre dafür noch die Anmeldung per REST-Server und Übertragung eines Lizenztokens oder Zertifikates per Push-Notification auf ein bestimmtes Device sinnvoll.

Ich persönlich würde aber erstmal versuchen das als eigenen, separaten REST-Server, oder "Anmelde"-Server aufzubauen, und dann bei erfolgreicher Authentifizierung darüber Daten/Zertifikate/etc. auszutauschen.
Damit wäre man nicht ständig an Firebase oder Apple-Push gebunden.
Vorteil: Auf dem Anmelde Server kannst Du Alles machen (OAuth2) was Du willst
Nachteil wäre das man wohl eine WiFi oder Daten-Verbindung braucht, und Du musste App, Desktop und Server programmieren.

Geändert von Rollo62 (11. Jun 2019 um 15:27 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:32
Was spricht dagegen, die das Google Konto zur Anmeldung am Unternehmensserver zu verwenden?

- Benutzer startet App, diese zeigt einen Dialog zur Kontoauswahl an
- App verwendet den Standardmechanismus um für das Konto ein Token zu erzeigen
- App sendet Token an Unternehmensserver, der das Token vom Google Server gegenprüfen läßt
- Der Server erhält von Google über die Token-Verfifizierung die E-Mail Adresse des Benutzers
Anhand der E-Mail Adresse kann der Server die für diesen Benutzer gültigen Konfigurationsdaten ermitteln
- App erhält alle benötigten Konfigurationsdaten, falls der Server das Token akzeptiert (geptüft) hat

Detaillierte Beschreibung: https://developers.google.com/identi...d/backend-auth

Vorteil: es müssen keine Benutzernamen / Passwörter zwischen App und Server ausgetauscht werden.
Lediglich auf dem Gerät selber muss man sich authentifizieren (PIN / Gesten / Gesichtserkennung etc.).
Michael Justin
habarisoft.com

Geändert von mjustin (11. Jun 2019 um 15:36 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:40
Ok, dann werfe ich nochmal das hier und das rein, denn wo Google ist kann Facebook nicht weit sein

Geändert von Rollo62 (11. Jun 2019 um 15:42 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:44
Ok, dann werfe ich nochmal das hier und das rein, denn wo Google ist kann Facebook nicht weit sein
Voraussetzung ist allerdings: "App ist mit Facebook registriert".

Im Unterschied dazu ist für eine reine Google-basierte Anmeldung keine Zusatzsoftware (Facebook) auf dem Gerät erforderlich, oder eine Registrierung der App bei Facebook. Bei einer Single-Signin Lösung über Facebook muss man dort ein Konto haben (was nicht immer der Fall ist). Dagegen hat ein Besitzer eines Android Gerätes nahezu immer auch einen Google Account.
Michael Justin
habarisoft.com

Geändert von mjustin (11. Jun 2019 um 15:59 Uhr)
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#6

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 15:59
Hmm..

Ok, dann werfe ich nochmal das hier und das rein, denn wo Google ist kann Facebook nicht weit sein
Voraussetzung ist allerdings: "App ist mit Facebook registriert".

Im Unterschied dazu ist für eine reine Google-basierte Anmeldung keine Zusatzsoftware (Facebook) auf dem Gerät erforderlich, oder eine Registrierung der App bei Facebook. Bei einer Single-Signin Lösung über Facebook muss man dort ein Konto haben (was nicht immer der Fall ist). Dagegen hat ein Besitzer eines Android Gerätes nahezu immer auch einen Google Account.

Beides benötigt ein Konto! Entweder von Google oder Facebook...

Hmm.. Und mein PC hat kein Google Account, dann müsste dieser wohl was von Microsoft nehmen..
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 16:04
Beides benötigt ein Konto! Entweder von Google oder Facebook...

Hmm.. Und mein PC hat kein Google Account, dann müsste dieser wohl was von Microsoft nehmen..
Mein Vorschlag bezieht sich nur auf 'normale' Google Android Geräte. Für iOS muß man eine andere Lösung finden.
Und es ist die direkt an das Gerät gekoppelte Kontoinformation, die dabei verwendet wird. Die mit der Geräteentsperrung den Benutzer authentifiziert.

Für PCs würde man ein Microsoft Konto verwenden, das dann über "Hello" den Fingerabdruck o.ä. nutzen würde.

Alle Drittanbieter (Facebook, Wordpress, GitHub) sind wesentlich unsicherer, es sei denn sie verwenden Zwei-Faktor-Authentifizierung.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.882 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 16:04
Deshalb bin ich ja ganz klar für den EIGENEN Server, auch wenn es etwas Mehraufwand ist.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.882 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 16:08
OK, das ist viel...Bitte ruhig mehr posten!
Ich muss kurz jemand anrufen... dann lese ich es mir genau durch.

BTW.
Wenn ich HerstellerServer sage meine ich nicht Google oder Apple sondern meinen SoapServer der bei mir läuft.
Die DesktopSoftware , die App, Der Soapserver sind alles eigen Eigentwicklungen.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (11. Jun 2019 um 16:10 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.003 Beiträge
 
Delphi 2009 Professional
 
#10

AW: Wege um APP mit PC-Server-Software zu verbinden

  Alt 11. Jun 2019, 16:29
Wenn ich HerstellerServer sage meine ich nicht Google oder Apple sondern meinen SoapServer der bei mir läuft.
Die DesktopSoftware , die App, Der Soapserver sind alles eigen Eigentwicklungen.
Klar, ist so angekommen. Eigener Server ist schon die halbe Miete.

Das was am meisten Kopfzerbrechen macht ist das sichere Authentifizieren. Und idealerweise verläßt kein Benutzername und kein Passwort das Gerät, auf dem man sich anmeldet.
Vorteil: der Server muss weder Passwörter speichern, noch sich mit der Anmeldung befassen. Er erhält nur noch ein Identifikations-Token von der App, das Google anhand des Benutzerkontos (Profils) auf der App ausgestellt hat.

Im Gegensatz dazu sind alle Verfahren, die über OAuth 2.0 arbeiten, auf einen Server einer dritten Partei angewiesen, bei der man zuvor ein (weiteres) Konto eingerichtet haben muss. Und man meldet sich über einen Webbrowser bei dieser dritten Partei an - mit Benutzername und Passwort. Nur falls man dort aktuell schon angemeldet ist, entfällt die erneute Anmeldung.

Fazit: am sichersten ist es, die Authentifizierung direkt von iOS oder Android ausführen zu lassen, und danach nur noch ein vom Betriebssystem erzeugtes Identifikations-Token zu verwenden um mit dem eigenen Server zu kommunizieren.
Michael Justin
habarisoft.com

Geändert von mjustin (11. Jun 2019 um 16:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz