Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Form von extern per App ansteuern

Eingetragen von PhilippCar (92)
am 14.07.2017 - 21:07 Uhr in
  • Module
  • Drupal 7.x

Hallo zusammen,

da wir an einem problem langsam verzweifeln, bitte ich um eure Mithilfe oder Tipps:

EIne Form soll in einer App ausgefüllt und abgesendet werden. Hierfür verwenden wir in der App Webviews. Hierfür loggt sich der User mit Hilfe von Tokens im Hintergrund ein. Das Form wird auch ganz normal dagestellt. Die Tokenübertragung klappt.

Unser Problem:

Sobald der User das Formular absendet, wird er ausgeloggt. Da der Nutzer von der einen Seite zur anderen per Form weitergeht (und vermutlich noch ein redirect von Drupal erfolgt) können wir mit der App kein Token mehr senden. Wir gehen also davon aus, dass das Form ein Token mitsendet bzw. dass der User per Session-Cookie eingeloggt bleibt.

Das klappt aber nicht, da der Nutzer ausgeloggt wird, wenn die Ergebnisseite nach dem Speichern/Abesenden der Form angezeigt wird.

Ist das normal?
Hat jemand Tipps das Problem zu lösen?

Das ist vor allem dann schlecht, wenn der Nutzer über einen Warenkorb geht und weiter bestellen muss :(

‹ Webform und Drupal 8 - Formatierte E-Mail Form von extern per App ansteuern ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi, ja, das geht mit

Eingetragen von Hyp1 (1463)
am 15.07.2017 - 09:10 Uhr

Hi,

ja, das geht mit drupalgap
Du kannst Du die App über cordova sogar für diverse Plattformen compilieren.
http://drupalgap.org/

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

Frage gelesen ?

Eingetragen von aqm (3)
am 15.07.2017 - 20:05 Uhr

Das ist in keiner Weise eine Antwort auf die Frage!

Es geht um eine bereits existierende native App die auf eine Drupalseite zugreift. Durch ein Redirect von der Druppalseite wird die Logininformation, warum auch immer, nicht weitergegeben. Ein Lösung mit Cordova oder ähnliche nichtnative Webframeworks ist keine Option.

Die Frage ist warum die Logininformation nicht bestehen bleibt wenn ein Redirect durch die Drupalseite durchgeführt wird.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eventuell in dieser Richtung

Eingetragen von Jenna (1883)
am 15.07.2017 - 20:20 Uhr

Eventuell in dieser Richtung suchen? https://www.drupal.org/project/session_api

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Doch, ich habe Deine Frage

Eingetragen von Hyp1 (1463)
am 15.07.2017 - 21:59 Uhr

Doch, ich habe Deine Frage schon richtig gelesen,
Du hast aber offenbar drupalgap nicht angesehen,
denn das erledigt Dir genau die Sache mit dem Session Login und CSRF Token.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Drupalgap

Eingetragen von aqm (3)
am 15.07.2017 - 22:23 Uhr

Und wie soll das in eine bestehende native App ? Drupalgap basiert auf Phonegap das wiederum ist Cordova was ein Webframework ist welches aufgebockt auf den jeweiligen nativen Betriebsystemfunktionen agiert. Das ist keine Lösung hier. Denn das Webview muss für die o.g. Anforderung reichen. Wir können nicht ein zweites Framework innerhalb der bestehenden nativen App verwenden. Das eignet sich nur wenn man ein neues Projekt beginnt was nur mit Drupal arbeitet und nicht nativ arbeiten soll. (Und wenn man wirklich Lust auf die ganzen Kinderkrankheiten von Cordova hat und der Kunde keinen Wert auf Geschwindigkeit legt)

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Jenna: Danke! Eine Idee

Eingetragen von aqm (3)
am 15.07.2017 - 22:26 Uhr

@Jenna: Danke!

Eine Idee warum die Sessiondaten beim Redirect verloren gehen. Wenn der Nutzer auf der Form verbleibt ist er eingeloggt. Wenn das Modul auf die Confirmation Seite redirected verliert sie die Sessiondaten. Aber nur im Webview, im normalen Browser bleibt der Nutzer eingeloggt (was ich nicht verstehe außer die Sessiondaten werden noch wo anders - bsp.: als Cookie - abgelegt)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Und wie soll das in

Eingetragen von Hyp1 (1463)
am 15.07.2017 - 22:50 Uhr
Zitat:

Und wie soll das in eine bestehende native App ? Drupalgap basiert auf Phonegap das wiederum ist Cordova was ein Webframework ist welches aufgebockt auf den jeweiligen nativen Betriebsystemfunktionen agiert. Das ist keine Lösung hier. Denn das Webview muss für die o.g. Anforderung reichen. Wir können nicht ein zweites Framework innerhalb der bestehenden nativen App verwenden. Das eignet sich nur wenn man ein neues Projekt beginnt was nur mit Drupal arbeitet und nicht nativ arbeiten soll. (Und wenn man wirklich Lust auf die ganzen Kinderkrankheiten von Cordova hat und der Kunde keinen Wert auf Geschwindigkeit legt)

Naja, bei mir hat das mit drupalgap ziemlich out of the box funktioniert, wenn Du das selbst machen möchtest, setze Dich schon mal mit cors und csrf tokens auseinander!

  • Anmelden oder Registrieren um Kommentare zu schreiben

@Hype: Danke für deine

Eingetragen von PhilippCar (92)
am 16.07.2017 - 11:35 Uhr

@Hype: Danke für deine Mithilfe! Das Übertragen der Tokens funktioniert ja, da der Nutzer nur personalisierte Daten angezeigt bekommt, wenn er eingeloggt ist.

@Jenna: auch dir danke!

Entscheidend ist aber, dass der User in einer Webview nach der 1. Seite auf eine 2. und 3 Seite gelangt (z.B. in das Shopsystem von Drupal Commerce oder bei Entityforms mit sessionid). Genau auf der 2. und 3. Seite geht aber das Token verloren, weil die Form das nicht überträgt. Die 1. Seite klappt ja (dafür brauchen wir kein Drupalgap)

Daher bleibt die zentrale Frage: Wie arbeitet Drupal bei der Useridentifiziereung? Nur Sessionid und Tokens sind es wohl nicht, da jene bei der Nutzung eines redirects (das von einer .htaccess erzeugt wird) weitergeleitet wird.

Im PC-Browser bleibt der Nutzer eingeloggt.

ABER: im Webview (eine Art Browser in der App) wird der Nutzer ausgeloggt. <-- Genau das können wir uns nicht erklären.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi.da Du ein WebView

Eingetragen von Hyp1 (1463)
am 16.07.2017 - 12:16 Uhr

Hi.
da Du ein WebView erwähnst, gehe ich davon aus Du meinst eine Android App.
Nach Deiner Beschreibung denke ich, dass Du Dich um das Sessions/Cookies in dieser
auch selbst kümmern musst. (Im Gegensatz zu einem richtigen Browser)
https://stackoverflow.com/questions/11224454/android-share-session-betwe...
In solchen Apps werden Daten eher im local storage der nativen Applikation gespeichert und nicht im cache eines Browsers

MfG

Robert

  • Anmelden oder Registrieren um Kommentare zu schreiben

In diesem Beitrag, Bild 2,

Eingetragen von Jenna (1883)
am 16.07.2017 - 13:22 Uhr

In diesem Beitrag, Bild 2, Add a new endpoint... gibt es eine Checkbox für Session Auth...

https://www.etondigital.com/how-to-develop-a-hybrid-app/

Habt ihr so ein Modul, in der Art, im Einsatz?

Bin überhaupt kein App Experte, aber es hört sich danach an, als wenn eine direkte Mitteilung von Drupal an diese Webviews fehlt.
Und den Redirect in der .htaccess, kann das für eine Webview eventuell Probleme machen, Alternative wäre eventuell Rules dafür zu nutzen, je nachdem um was für einen redirect es sich handelt.

Grüße Jenna

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Woche 2 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 2 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 31 Minuten
  • Hey danke
    vor 9 Wochen 19 Stunden
  • Update: jetzt gibt's ein
    vor 9 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 9 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 9 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 3 Tagen
  • In der entsprechenden View
    vor 10 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 10 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250235
Registrierte User: 20462

Neue User:

  • marouane.blel
  • capilclinic
  • Quabzibboter

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 13 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association