Přihlašování přes facebook a rewrite

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
microcz
Člen | 62
+
0
-

Ahoj

je možné nějakým způsobem v RouterFactory nastavit, aby se pro presentery ‚Google‘ a ‚Facebook‘ (tak jsem si je pojmenoval) použila simple routa?

Potýkám se totiž s problémem že mě přihlašování přes tyto služby funguje jen při zaplém simple routeru. Poradíte? Jinak dostávám hlášku od chrome:

This webpage has a redirect loop
ERR_TOO_MANY_REDIRECTS

Editoval microcz (11. 6. 2015 20:39)

newPOPE
Člen | 648
+
0
-

Tipujem, ze to so SimpleRoute nebude mat nic.

microcz
Člen | 62
+
0
-

tak už tuším v čem je problém…ale nevím jak ho odstranit :(

Při simple routě:

https://www.facebook.com/v2.2/dialog/oauth?client_id=478905205596609&redirect_uri=http://localhost/~tester/testproject/www/?presenter=Facebook&state=4b63bfb3c9507c89347455663c2f5279&sdk=php-sdk-4.0.16&scope=email

Při rewritu:

https://www.facebook.com/v2.2/dialog/oauth?client_id=478904678929995&redirect_uri=http://localhost/~tester/testproject/www/facebook/&state=536560378c582ddb17f0fe821cf20846&sdk=php-sdk-4.0.16&scope=email

Jinými slovy já facebooku posílám:

http://localhost/~tester/testproject/www/facebook/

A on mi to doplní na

http://localhost/~tester/testproject/www/facebook/&state=536560378c582ddb17f0fe821cf20846&sdk=php-sdk-4.0.16&scope=email

bez otazníku, ale jak ho přinutím začít s ‚?‘

nettolog
Člen | 68
+
0
-

Co když bys mu poslal něco ve stylu
http://localhost/~tester/testproject/www/facebook/?1=1
?

microcz
Člen | 62
+
0
-

Díky, ale nepomohlo, i když je URL

http://localhost/~tester/testproject/www/facebook/?1=1&state=1e48653c3b6f754eedbf758565a33427&sdk=php-sdk-4.0.16&scope=email

tak to nepomáhá :(

microcz
Člen | 62
+
0
-

Tak problém je s tím, že se mi vůbec nevezmou GET parametry a následně selže getSessionFromRedirect, která díky tomu hází pořád null.

Pro login používám Facebook:default, který se mi routuje pomocí:

Route('<presenter>/<action>[/<id>]', 'Homepage:default')

Při zadání každé z uvedených URL

homepage/facebook/?state=xxx respektive
homepage/facebook?state=xxx
homepage/facebook/default?state=xxx
homepage/facebook/default/?state=xxx

se akce default sice pokaždé vyvolá, ale

isset($_GET['state'])

hlásí false

Editoval microcz (12. 6. 2015 10:12)