Eingabe auf Webseite über API mit Smartphone autorisieren

  • Antworten:5
Soulful
  • Forum-Beiträge: 4

30.05.2017, 23:37:09 via Website

Guten Tag,

ich sitze den ganzen Tag schon verzweifelt daran und versuche eine Idee für eine App umzusetzen. Konkret geht es dabei darum:

Ich möchte, dass eine externe Webseite (nicht von mir verwaltet) über eine API eine Anfrage an ein Smartphone sendet, dass meine App benutzt, und in dieser App dann durch einen Klick auf einen von Zwei Button eine 1 für autorisieren, oder eine 0 für nicht autorisieren gesendet wird und die Webseite diese Antwort empfängt (das Thema Sicherheit lassen wir mal außen vor, da habe ich schon eine Idee, mir geht es nur um die technische Umsetzung zuerst).
Nun stelle ich mit den ganzen Tag die Frage, wie ich das Serverseitig, API-Seitig und App-Seitig am besten umsetze. Eine Möglichkeit die ich mit gedacht habe wäre über eine restAPI und einem Webserver, wobei ich nicht weiß, wie der Webserver (dann in PHP) eine Anfrage an ein bestimmtes Smartphone weiterleiten kann. Eine andere Möglichkeit, die mir in den Kopf gekommen wäre, wäre eine Server/Client Kommunikation mit eigenem "Protokoll", sodass ein Typ Client (API-Aufrufer) eine Anfrage an den Server stellt, der Server über einen Socket auf die Antwort von der App wartet, die er sucht und die Antwort dann an den ersten Client (API Aufrufer als Aufruf-Rückgabe) weitergibt. Allerdings weiß ich nicht, wie ich es schaffe, dass ich mich mit der Server-Klasse (in diesem Fall auf Heroku gehostet) verbinden kann und ob es die ideale Lösung wäre.

Oder hat irgendwer eine bessere Idee, wie ich das umsetzen kann? Habe wiegesagt den ganzen Tag schon dran geknobelt und wäre froh, wenn jemand mich von meinem Leid erlösen könnte :D

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

31.05.2017, 23:18:28 via Website

Hallo Soulful,
so ganz verstehe ich noch nicht was du vorhast bzw. damit bezwecken willst.
Oder hast du dich nur falsch ausgedrückt?

Denn:
Ein Server den du nicht kontrollierst, kann sicher von sich aus keine Anfrage ein dein Phone schicken.
Du kannst eine Anfrage an den Server schicken aber nicht andersherum ohne das was zu implementieren.

Wie man einen Server/Client API Struktur umsetzt kommt immer auf den Anwendungsfall an, wenn du diesen nicht beschreibst, können wir nur raten...

Du kannst eine API zwischen deiner App und deinem Server aufbauen, die Verbindung zum externen Server muss dann der Code hinter der API erledigen oder hab ich es nicht verstanden?

LG Pascal //It's not a bug, it's a feature. :) ;)

swa00

Antworten
swa00
  • Forum-Beiträge: 3.704

31.05.2017, 23:36:16 via Website

@Pascal

Wir sind ein wenig hinter seinen "Wunsch" gekommen :-)
Schau mal "drüben"

— geändert am 31.05.2017, 23:37:12

Liebe Grüße - Stefan
[ App - Entwicklung ]

Soulful

Antworten
Soulful
  • Forum-Beiträge: 4

01.06.2017, 21:51:15 via Website

Ja danke übrigens swa00, hab mich in Firebase "eingearbeitet" wenn man das so nenn kann und bisher funktioniert es von der Konsole von Firebase genauso wie ich möchte. Muss jetzt nur noch herausfinden, wie ich eine Notification über php erstellen und absenden kann.

Antworten
Soulful
  • Forum-Beiträge: 4

01.06.2017, 22:01:28 via Website

Pascal P.

Hallo Soulful,
so ganz verstehe ich noch nicht was du vorhast bzw. damit bezwecken willst.
Oder hast du dich nur falsch ausgedrückt?

Denn:
Ein Server den du nicht kontrollierst, kann sicher von sich aus keine Anfrage ein dein Phone schicken.
Du kannst eine Anfrage an den Server schicken aber nicht andersherum ohne das was zu implementieren.

Wie man einen Server/Client API Struktur umsetzt kommt immer auf den Anwendungsfall an, wenn du diesen nicht beschreibst, können wir nur raten...

Du kannst eine API zwischen deiner App und deinem Server aufbauen, die Verbindung zum externen Server muss dann der Code hinter der API erledigen oder hab ich es nicht verstanden?

Tut mir leid, wenn es zu Verständnisproblemen kam, so meinte ich es:

Ich besitze einen Server (wusste nicht ob es ein Application oder Webserver sein soll) und stelle eine API zur Verfügung, die auf externen Webseiten benutzt werden kann. Wenn ein Nutzer die API auf der externen Seite aufruft, wird eine API-Request an meinen Server gestellt und der soll eine Notification an einen bestimmten Nutzer der App senden, der die API ausgelöst hat (Token zur Identifizierung beim Login gespeichert). In der App soll er nun einen von zwei Buttons drücken, die entweder 0 oder 1 zurückschicken und von meinem Server als API-Antwort an die externe Webseite weitergeleitet werden soll. Hoffe so war es verständlicher.

Swa00 meinte das klänge nach einem http-Request, sodass also eine RestAPI mit Webserver Sinn machen würde. Bin gerade dabei es so umzusetzen, dass beim API Aufruf eine Benutzerkennung als Parameter mitgegeben wird, ich in meiner Datenbank dann den individuellen App-Token für Firebase raussuchen, eine Firebase-Notification schicke, dass er in der App eine Aktion vornehmen soll und diese Aktion wird in einer Request-Tabelle in meiner Datenbank gespeichert. Wenn der Nutzer nun die App öffnet, macht die App eine SQL Abfrage und sucht nach neuen Requests in der Datenbank, die 0 oder 1 wird dann in ein leeres Attribut als Antwort eingetragen. Währenddessen wartet die Webseite über Ajax, bis sie eine Antwort von der API kriegt, die sie erst kriegt, wenn die API eine Antwort aus der Tabelle selektieren kann oder ein Timeout (denke mal > 1 Minute) auftritt. Oder gibt es einen schöneren Weg das umzusetzen, also ohne Tabelle, sodass mein Webserver direkt die App kontaktiert und auf eine Antwort wartet (ähnlich wie bei einer TCP-Verbindung).

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.06.2017, 23:12:54 via App

Dafür ist das der richtige Ansatz :)
Dann mal gutes gelingen!

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten