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] =>)
Wir können Ihnen das nicht beantworten. Sie müssten die Quelle von '\ IPS \ Member :: loggedIn()' und die zugrunde liegenden Methoden anzeigen. – Xatenev
@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/ –