• Hallo Besucher!

    Du bist neu im Forum? Dann registriere dich hier, um Diskussionen beizutreten oder eigene Themen zu erstellen. Für die Registrierung ist es erforderlich, dass du einen Spielaccount bei Die Stämme hast.

    Andernfalls kannst du dich hier direkt einloggen.

    Falls du dein Passwort vergessen hast, kannst du hier ein neues Passwort anfordern.

Externe Authentifizierung => GET-Parameter

DeletedUser148921

Gast
Hallo zusammen!

Ich hoffe ich bin mit dieser Frage hier richtig. Sonst bitte mal eben verschieben ;)

Also ich arbeite gerade an einem Projekt fü welches ich die externe Authentifizierung von DS brauche.
Paar mal mit dem Support hin und her geschrieben aber irwo kommen jetzt keine Antworten mehr.. liegts am Wochenende oder haben die keine lust mehr? ^^

Jedenfalls ich hab denen meinen link zum script gegeben und den einziartigen "schlüssel" zum prüfen ob die anfrage echt ist. So eig funzt auch alles und der user wird am ende auf die richtige seite weitergeleitet.

ABER: eigentlich sollte DS nach erfolgreichem login gewisse daten per GET an mein script übergeben. Nur hier liegt der fehler. Ich bekomm da nichts..

ich verwerde:

PHP:
$sid = $_GET[sid];
$username = $_GET[username];
$hash = $_GET[hash];

aber die variablen bleiben leer.

weiß jemand wie genau die daten epr GET übergeben werden?

Hoffe auf Hilfe..

Mit freundlichen Grüßen
 

tomabrafix

Techn. Support
Reaktionspunktzahl
2
Also ich arbeite gerade an einem Projekt fü welches ich die externe Authentifizierung von DS brauche.
Paar mal mit dem Support hin und her geschrieben aber irwo kommen jetzt keine Antworten mehr.. liegts am Wochenende oder haben die keine lust mehr? ^^

Bitte gedulde dich einfach. Gewisse Tickets benötigen etwas länger...


Jedenfalls ich hab denen meinen link zum script gegeben und den einziartigen "schlüssel" zum prüfen ob die anfrage echt ist. So eig funzt auch alles und der user wird am ende auf die richtige seite weitergeleitet.

ABER: eigentlich sollte DS nach erfolgreichem login gewisse daten per GET an mein script übergeben. Nur hier liegt der fehler. Ich bekomm da nichts..

ich verwerde:

PHP:
$sid = $_GET[sid];
$username = $_GET[username];
$hash = $_GET[hash];

aber die variablen bleiben leer.

weiß jemand wie genau die daten epr GET übergeben werden?

Auf welcher Seite versuchst du denn die Parameter per GET zu erhalten? Auf der Validierungsseite oder auf der Seite, wohin der Benutzer weitergeleitet wird?

Die Parameter werden ganz normal über die URL weitergegeben. Also wenn deine Validierungsseite zum Beispiel http://www.example.de/validate.php ist dann baut die externe Authentifizierung eine Verbindung nach http://www.example.de/validate.php?sid=123456789&username=Name&hash=b87c57j5j98794ys5n34c8465a895 auf.
 

DeletedUser148921

Gast
Erstmal danke für deine Antwort!

Bitte gedulde dich einfach. Gewisse Tickets benötigen etwas länger...

Mehr kann ich sowieso nicht tun ^^

Auf welcher Seite versuchst du denn die Parameter per GET zu erhalten? Auf der Validierungsseite oder auf der Seite, wohin der Benutzer weitergeleitet wird?

Die Parameter werden ganz normal über die URL weitergegeben. Also wenn deine Validierungsseite zum Beispiel http://www.example.de/validate.php ist dann baut die externe Authentifizierung eine Verbindung nach http://www.example.de/validate.php?sid=123456789&username=Name&hash=b87c57j5j98794ys5n34c8465a895 auf.

Ja ich meinte die Validierungsseite! Dann müsste es mit "$sid = $_GET[sid];" eigentlich gehen..
Könntest du mir sagen wie genau sich der hash zusammensetzt?

- hash: ein MD5-Hash eines Strings der sich aus den Variablen "sid", "username" und dem oben genannten Absicherungsschlüssel zusammensetzt

Nehmen wir an:
sid = abc
username = mustermann
schlüssel = xyz

dann wird also der MD5 hash von "abcmustermannxyz" erzeugt oder werden die anders zusammengefügt?

LG
 

tomabrafix

Techn. Support
Reaktionspunktzahl
2
Ja ich meinte die Validierungsseite! Dann müsste es mit "$sid = $_GET[sid];" eigentlich gehen..

Ja, sollte dann gehen. Und mach bitte das sid in Hochkommas, auch wenn PHP es ohne aktzeptieren sollte. Das beugt eventuellen Problemchen und Fehlern vor und ist eigentlich Standard ;)


Könntest du mir sagen wie genau sich der hash zusammensetzt?

Nehmen wir an:
sid = abc
username = mustermann
schlüssel = xyz

dann wird also der MD5 hash von "abcmustermannxyz" erzeugt oder werden die anders zusammengefügt?

Richtig, den Hash erhält man mit md5($sid.$username.$schluessel).
 
Zuletzt bearbeitet:

DeletedUser148921

Gast
Vielen dank für eure Antworten!

Hatte da selbst einen Fehler in einer IF-Abfrage wodurch das garnicht funktionieren konnte. >.>



Ja, sollte dann gehen. Und mach bitte das sid in Hochkommas, auch wenn PHP es ohne aktzeptieren sollte. Das beugt eventuellen Problemchen und Fehlern vor und ist eigentlich Standard ;)

Danke für den Tipp, ist aber jetzt sowieso erstmal nur ein brototyp ^^

LG
 

DeletedUser

Gast
Danke für den Tipp, ist aber jetzt sowieso erstmal nur ein brototyp ^^

Derartige "Ausreden" hoere ich in der Programmierung immer wieder.
Wobei da bei mir direkt die Frage aufkommt: Warum mache ich extra etwas falsch/unelegant (nur weil es sich um einen Prototypen handelt), obwohl ich weiss, dass es falsch ist und es korrekt keinen Mehraufwand bedeutet ?!?
Verstehe da definitiv den Sinn und Zweck hinter nicht, aber vllt. bin ich da ja auch der einzige...
 

DeletedUser148921

Gast
haha hast schon recht.

Ehrlichgesagt wusst ich das auch nicht :p

Ich für meinen teil hab mir PHP selbst beigebracht mit online tutorials usw.. und da bin ich froh wenn das script keinen error ausspuckt.. da achte auf solche sachen nicht ^^
 
Reaktionspunktzahl
28
haha hast schon recht.

Ehrlichgesagt wusst ich das auch nicht :p

Ich für meinen teil hab mir PHP selbst beigebracht mit online tutorials usw.. und da bin ich froh wenn das script keinen error ausspuckt.. da achte auf solche sachen nicht ^^

Es sollte bei einem solchen Fehler zumindest eine notice ausspucken, bspw.
PHP:
Notice: Use of undefined constant sid - assumed 'sid' in ...

Ist dies nicht der Fall, hast du wahrscheinlich dein error level zu niedrig gesetzt, was man in der Entwicklung vermeiden sollte.
 
Oben