[PHP/CodeIgniter] OpenID komt niet op de goede pagina terug

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
Mijn vraag
Ik ben bezig met het schrijven van een connector naar Steam door middel van OpenID. Ik ben nieuw met php en openid dus mijn kennis is niet groot op dit gebied. Wanneer ik op de steam inlog knop druk word ik netjes naar de inlogpagina van steam geleid maar als ik daar klaar ben met inloggen is de callback naar mijn eigen pagina fout.

Relevante software en hardware die ik gebruik
PhpStorm
Xampp

Wat ik al gevonden of geprobeerd heb
Ik heb de volgende tutorial gebruikt en die beetje aangepast om netjes in CodeIgniter te gebruiken.



Deze maak gebruikt van deze OpenID provider: https://github.com/iignatov/LightOpenID




PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public function index() {
        $OpenId = $this->lightopenid;

        if(!$OpenId->mode) {
            if(isset($_GET['login'])) {
                $OpenId->identity = "http://steamcommunity.com/openid/";
                $logmessage = 'Steam called from controller with authentication url '.$OpenId->authUrl();
                log_message('debug', $logmessage);
                header("Location: {$OpenId->authUrl()}");
            }

            if(!isset($_SESSION['T2SteamAuth'])) {
                $this->data['login'] = '<div id="login">Welcome Guest. Please <a href="?login"><img src="http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_small.png"/></a> to "Website Action"</div>';
            } elseif($OpenId->mode == 'cancel') {
                echo "User has canceled Authentication";
            } else {
                if(!isset($_SESSION['T2SteamAuth'])) {
                    $_SESSION['T2SteamAuth'] = $OpenId->validate() ? $OpenId->identity : null;
                    $_SESSION['T2SteamID64'] = str_replace("http://steamcommunity.com/openid/id/", "", $_SESSION['T2SteamAuth']);

                    log_message('debug', 'validation result from LightOpenId: '.$OpenId->validate());

                    if($_SESSION['T2SteamAuth'] !== null) {
                        $Steam64 = str_replace("http://steamcommunity.com/openid/id/", "", $_SESSION['T2SteamAuth']);
                        $profile = file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002?key-{$this->key}&steamid={$Steam64}");
                        $buffer = fopen(base_url('/cache/'.$Steam64.'.json', 'w+'));
                        fwrite($buffer, $profile);
                        fclose($buffer);
                    }
                }
                $this->load->view('steam/index', $this->data);
            }

            if(isset($_SESSION['T2SteamAuth'])) {
                $this->data['login'] = '<div id="login"><a href="?logout">Logout</a></div>';
            }

            if(isset($_GET['logout'])) {
                unset($_SESSION['T2SteamAuth']);
                unset($_SESSION['T2SteamID64']);
                header("Location: steam/index.php");
            }

            $this->load->view('steam/index', $this->data);
        }
    }


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

echo $login;

echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";

if(isset($user)) {
    echo $user;
}





Kan iemand mij uitleggen wat ik fout doe en hoe ik dit kan oplossen?

Grtz AresX

Alle reacties


Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
Fixed. Slotje aub

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:22

Creepy

Tactical Espionage Splatterer

Alleen echt slechte topics gaan hier op slot. We zijn geen helpdesk waar opgeloste "tickets" worden gesloten. We delen hier graag informatie. Zou je je oplossing dan ook hier nog willen posten? Dan hebben anderen er ook nog wat aan.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
Creepy schreef op woensdag 10 mei 2017 @ 09:21:
Alleen echt slechte topics gaan hier op slot. We zijn geen helpdesk waar opgeloste "tickets" worden gesloten. We delen hier graag informatie. Zou je je oplossing dan ook hier nog willen posten? Dan hebben anderen er ook nog wat aan.
Oke mijn excuses.

De code op zich werkte, alleen een bracket voor het einde van de if-statement miste. Ik gebruik zoals genoemd phpstorm en vertrouwde iets te goed op het feit dat het allemaal klopte. De oplossing is dus een closing bracket "}" na regel 13.

Acties:
  • 0 Henk 'm!

  • AlphaRomeo
  • Registratie: Maart 2007
  • Laatst online: 22:13

AlphaRomeo

FP PowerMod
Die bracket zit er toch gewoon aan het begin van regel 14?

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 29-09 15:25
ThaAresX schreef op woensdag 10 mei 2017 @ 12:31:
[...]

De code op zich werkte, alleen een bracket voor het einde van de if-statement miste. Ik gebruik zoals genoemd phpstorm en vertrouwde iets te goed op het feit dat het allemaal klopte. De oplossing is dus een closing bracket "}" na regel 13.
Als dat echt het probleem was had PhpStorm een rood lijntje in je editor gezet en het vakje rechtsbovenin zou dan ook rood zijn. Het lijkt me sterk dat dit inderdaad je probleem was.

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

  • ThaAresX
  • Registratie: September 2010
  • Laatst online: 09-10 08:52
AlphaRomeo schreef op woensdag 10 mei 2017 @ 12:54:
Die bracket zit er toch gewoon aan het begin van regel 14?
Dat dacht ik dus ook, maar de elseif moet een alternatief zijn op de

PHP:
1
if(!$OpenId->mode) {


en niet op

PHP:
1
2
if(!isset($_SESSION['T2SteamAuth'])) {
                $this->data['login'] = '<div id="login">Welcome Guest. Please <a href="?login"><img src="http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_small.png"/></a> to "Website Action"</div>';
Pagina: 1