나는 커뮤니티를위한 작은 웹 포털을 개발 중이며 IP.Board (최종 사용자가 더 쉽다)로 로그인 시스템을 갖고 싶습니다.IP.Board - 싱글 사인온 (php)
나는 포럼과 응용 프로그램을 동일한 호스팅에 있습니다. loggin에 대한 는, 사용자가 버튼을 클릭하고 해당 페이지로 리디렉션됩니다 :
<?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";
이>
IP.Board 세션 (포럼)에 기록되어 있지 않은 경우, 그것은 index.php
현재 기본 버전을 개발 중이므로 더 많은 개선이 이루어집니다.
알다시피, 일부 데이터를 디버깅하기 위해 print
이 있습니다. 에지 모든 작품에 ,하지만 파이어 폭스 또는 크롬에 내가 대신 사용자 이름을 얻는, 32 자, 때마다 개의 다른 하나의 문자열을 얻는다. 내가 들어오는 것의 예 파이어 폭과 크롬.
을 ef5cd2de05387b9b01048efad2173efd?어느 한이 이유를 알고 있습니까
정보 : 나는 다음 : IP.Board SSO Documentation
정보 2 : 나는 "마스터"로 IPS 커뮤니티 스위트 룸을 사용하고Forum post
.
편집 1 : 디버그 \IPS\Member::loggedIn()
IPS \ 회원 개체 ([nodeClass : 보호] => IPS 상 \ \ 고양이 [_followData] => [_previousPhotoType : 보호] = > [marker] => Array() [markersResetTimes : protected] => Array() [hasAllMarkers] [>] [태그 추가] : protected] => [defaultStreamId : protected [sessionData : protected] => [_lang : protected] => [_url : protected] => [profileCields] [프로필 이름] [보호 된] [ignorePreferences : protected] => [_ppdLimit : protected] => [_data : protected] => [_reputationData : protected] => [_reputationData : protected] => [_ 다음 : > 배열 ([member_group_id] => 2 [mgroup_others] => [joined] => 1483440989 [ip_address] => 83.36.150.111 [timezone] => UTC [allow_admin_mails] => 1 [pp_photo_type] => [member_posts] => 0 [pp_main_photo] => [pp_thumb_photo] => [failed_logins] => [pp_reputation_points] => 0 [서명 1 [changed] => Array ([member_group_id]] => [auto_track] => [auto_track] => { "content": 0, "comments": 0, "method": "immediate"}) => 1 [pp_photo_type] => [member_posts] => 0 [ skipCloneDuplication] =>)
답변을 드릴 수 없습니다. '\ IPS \ Member :: loggedIn()'의 근원과 기본 메소드를 보여줘야합니다. – Xatenev
@Xatenev는 포럼 코드의 일부로, 어디 있는지 모르겠습니다. IP.Board의 SSO를 사용하려면'init.php' 파일을 가져와야합니다. https://invisionpower.com/4docs/advanced-usage/development/single-sign-on-sso-r98/ –