Как авторизоваться через Office на форуме SMF?
Всем привет. Столкнулся с такой задачей. Нужно авторизироваться через Office на форуме SMF, догадываюсь что авторизация не происходит из-за того, что офис не находит контекст на котором авторизироваться, но если авторизироваться на MODX, то блок с авторизированным пользователем появляется. Делаю вот таким образом:
// Подключаем
define('MODX_API_MODE', true);
require '/index.php';
// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
require_once( MODX_CORE_PATH . 'model/modx/modx.class.php');
$modx = new modx();
$modx->initialize('web');
$officeAuth = $modx->runSnippet('officeAuth',array(
'groups' => 'Users',
'HybridAuth' => '1',
'tplLogin' => '@INLINE <a href="#auth" data-toggle="modal" data-target="#auth" rel="nofollow" title="[[%office_auth_remote_login]]"><img src="'.$sites_img.'auth.png" alt="[[%office_auth_remote_login]]" /></a>
<div class="modal fade" id="auth" tabindex="-1" role="dialog" aria-labelledby="authLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="authLabel">Войти в систему</h4>
</div>
<div class="modal-body">
<ul class="nav nav-tabs">
<li class="active"><a href="#autorize" data-toggle="tab">Авторизация</a></li>
<li><a href="#registartion" data-toggle="tab">Регистрация</a></li>
</ul>
<div class="tab-content" id="office-auth-form">
<div class="tab-pane fade in active" id="autorize">
<div class="office-auth-login-wrapper">
<h4>[[%office_auth_login]]</h4>
<form method="post" class="form-horizontal" id="office-auth-login">
<div class="form-group">
<label for="office-auth-login-email" class="col-md-3 control-label">[[%office_auth_login_username]] <span class="red">*</span></label>
<div class="col-md-8">
<input type="text" name="username" placeholder="" class="form-control" id="office-auth-login-username" value="" />
<p class="help-block"><small>[[%office_auth_login_username_desc]]</small></p>
</div>
<label for="office-auth-login-password" class="col-md-3 control-label">[[%office_auth_login_password]]</label>
<div class="col-md-8">
<input type="password" name="password" placeholder="" class="form-control" id="office-login-form-password" value="" />
<p class="help-block"><small>[[%office_auth_login_password_desc]]</small></p>
</div>
<input type="hidden" name="action" value="auth/formLogin" />
<input type="hidden" name="return" value="" />
<div class="col-sm-offset-3 col-sm-8">
<button type="submit" class="btn btn-primary">[[%office_auth_login_btn]]</button>
</div>
</div>
</form>
<label>[[%office_auth_login_ha]]</label>
<div>[[+providers]]</div>
<p class="help-block"><small>[[%office_auth_login_ha_desc]]</small></p>
[[+error:notempty=`
<div class="alert alert-block alert-danger alert-error">[[+error]]</div>
`]]
</div>
</div>
<div class="tab-pane fade" id="registartion">...</div>
</div>
[[+error:notempty=`
<div class="alert alert-block alert-danger alert-error">[[+error]]</div>
`]]
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>',
'tplLogout' => '@INLINE <div class="navbar">
<div class="navbar-header">
<div class="row">
<div class="col-md-3 col-lg-3 col-xs-3">
<div class="login-img">
<img src="[[+photo:default=`[[+gravatar]]?s=100`]]" alt="[[+fullname]]" title="[[+fullname]]" class="office-avatar" width="100" />
</div>
</div>
<div class="col-md-9 col-lg-9 col-xs-9">
<span class="office-remote-info">
<a href="#auth" data-toggle="collapse" data-target="#collapseMenu" aria-expanded="true" aria-controls="collapseMenu"><b>[[+fullname]]</b> ([[+username]])</a>
<span class="pro">PRO</span><br />
<strong>Баланс:</strong> '.$msProfile.' €
</span>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-12 col-xs-12">
<div class="nav_wrapper collapse" id="collapseMenu">
<ul>
<li><a href="'.$site_url.'[[~]]">Заказы</a></li>
<li><a href="'.$site_url.'[[~]]">Написать в блог</a></li>
<li><a href="'.$site_url.'[[~]]">Добавить объявление</a></li>
<li><a href="'.$site_url.'[[~]]">Добавить компанию</a></li>
<li><a href="'.$site_url.'[[~]]">Тех. поддержка</a></li>
<li><a href="'.$site_url.'[[~38]]">Пользователи</a></li>
<li><a href="'.$site_url.'[[~35]]">История заказов</a></li>
<li><a href="'.$site_url.'[[~38]]'.$currentUID.'">Профиль</a></li>
<li><a href="'.$site_url.'[[~37]]">Настройки</a></li>
<li class="last"><a href="[[~[[*id]]]]?action=remote/logout" rel="nofollow">[[%office_auth_logout]]</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>'
));
А переменную $officeAuth вставляю в место где нужно выводить блок. Может кто-то уже сталкивался с подобным? Комментарии: 3
Так этот мост и стоит, но сама авторизация скудная, всего 2 поля логин и пароль, а хочется чтобы можно было и через HybridAuth авторизироваться прямо с форума.
Ну раз хочется — кто может помешать?
Желаю удачи.
Желаю удачи.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.