2017-01-02 4 views
1

Ich entwickle ein kleines handgemachtes Webportal für eine Community und ich möchte, dass es ein Logginsystem mit IP.Board hat (einfacher für den Endbenutzer).IP.Board - Single Anmelden in php

Ich habe das Forum und die App auf dem gleichen Hosting. Für die loggin klickt der Benutzer auf einen Knopf und wird auf diese Seite weitergeleitet:

<?php 
require_once '../www/forum/init.php'; 
include_once 'includes/functions.php'; 
error_reporting(E_ALL); 
session_start(); 
    \IPS\Session\Front::i(); 
    print_r(\IPS\Member::loggedIn()); 
    if(\IPS\Member::loggedIn()->member_id) { 
     $name = \IPS\Member::loggedIn()->name; 
     if(checkUserExistance($name)==0){      
      //header("Location: ../index.php"); 
      print("LOGED EXIT!!!!!!!!!!!!!!!!!!!!"); 
     }else{ 
      print("LOGED INNNN!!!!!!!!!!!!!!!!!!!!"); 
      $_SESSION['authenticated'] = 'yes'; 
      $_SESSION['user'] = $name; 
      $userphoto = \IPS\Member::loggedIn()->photo;    
      $result = getUserData($_SESSION['user']); 
      $_SESSION['isLeader'] = $result['isLeader']; 
      $_SESSION['isAdmin'] = $result['isAdmin']; 
     }   
    } else{ 
     print("LOGED OUT!!!!!!!!!!!!!!!!!!!!"); 
     $_SESSION['authenticated'] = 'no'; 
     if(session_destroy()){ // Destroying All Sessions 
      //header("Location: index.php"); 
     } 
    } 
    //echo "Auth by LOGIN"; 

>

Wenn nicht in IP.Board Sitzung (Forum) angemeldet ist, es geht zurück index.php

Für jetzt im Entwickeln einer Basisversion davon werden mehr Verbesserungen durchgeführt werden, sobald ich das funktioniert habe.

Wie Sie sehen können, habe ich eine print zum Debuggen einiger Daten. On Edge alles funktioniert, aber auf Firefox oder chrome Ich bekomme eine Zeichenfolge von 32 Zeichen, jedes Mal eine andere, anstatt den Benutzernamen zu erhalten. Beispiel von dem, was ich in Firefox und Chrome bekommen.

ef5cd2de05387b9b01048efad2173efd

Hat jemand wissen, warum?

INFO: Ich folgte: IP.Board SSO Documentation

INFO2:Forum post

Ich bin mit IPS Community-Suite als "Master".


EDIT 1: Debug von \IPS\Member::loggedIn()

IPS \ Mitglied Object ([NodeClass: protected] => IPS \ Auszeichnungen \ Cats [_followData] => [_previousPhotoType: protected] = > [_group] => [restrictions: geschützt] => [modPermissions: protected] => [berechneteLanguageId: geschützte] => [marker] => Array() [markerResetTimes: protected] => Array() [haveAllMarkers : protected] => [defaultStreamId: geschützt ] => [changedCustomFields] => Array() [vorherigerName: protected] => [_socialGroups: protected] => [sessionData: protected] => [_lang: protected] => [_url: protected] => [profileFields ] => [_reputationData: protected] => [_folgend: protected] => Array() [reportCount: protected] => [ignorePreferences: protected] => [_ppdLimit: protected] => [_data: protected] = > Array ([member_group_id] => 2 [mgroup_others] => [beigetreten] => 1483440989 [ip_address] => 83.36.150.111 [Zeitzone] => UTC [allow_admin_mails] => 1 [pp_photo_type] => [member_posts] => 0 [pp_main_photo] => [pp_thumb_photo] => [fehlgeschlagen_logins] => [pp_reputation_points] => 0 [signature ] => [auto_track] => {"content": 0, "comments": 0, "methode": "sofort"}) [_new: protected] => 1 [geändert] => Array ([member_group_id] => 2 [mgroup_others] => [beigetreten] => 1483440989 [ip_adresse] => 83.36.150.111 [zeitzone] => UTC [allow_admin_mails] => 1 [pp_photo_type] => [member_posts] => 0) [ skipCloneDuplication] =>)

+0

Wir können Ihnen das nicht beantworten. Sie müssten die Quelle von '\ IPS \ Member :: loggedIn()' und die zugrunde liegenden Methoden anzeigen. – Xatenev

+0

@Xatenev das ist Teil des Codes des Forums, ich weiß nicht wo es ist. Es heißt, ich muss die 'init.php' Datei importieren, damit ich mit dem SSO von IP.Board arbeiten kann. https://invisionpower.com/4docs/advanced-usage/development/single-sign-on-sso-r98/ –

Antwort

0

Ich beschloss, die andere Option für SSO in IP.Board Te andere Option zu verwenden, sendet die Anmeldeanforderung an das Forum, und muss nicht die Sitzungen überprüfen. Forum API tut es.

-1

Stellen Sie sicher, dass die URL (Domain-Teil) zu Ihrem System die gleiche a ist s IPS, dh www .example.com nicht nur example.com example.com gibt diesen Hashwert, während www.example.com nicht.

einige Zeit damit verbracht, bevor diese zu sehen ....

Edit: und das war es überhaupt nicht. Wenn ich mich aus dem Forum abmelde und in, vielleicht mehrmals, funktioniert es in allen Browsern. Ich sehe kein Muster, außer mehrmals (mindestens einmal) zu versuchen. Entschuldigung für schlechte Antwort!

Eirik