Привет, всем!
Значит, делаю авторизацию на сайте... Есть форма, есть данные, которые отправляются.
AJAX-запрос
var loginis = (function () {
var psw = $("#password2").val();
var email = $("#mail2").val();
$.ajax({
type: 'POST',
url: "site/loginis",
data: {'password':psw, 'login':email},
error: function(e) {
console.log(e);
}
});
});
Контроллер - акшон
public function actionLoginis(){
if (Yii::$app->request->isAjax) {
//ищем пользователя с таким psw and login
if($data = Users::findUserByAouth(Yii::$app->request->post())){
//нашли авторизуемся...??
return Users::findByEAuth($data);
// return json_encode(array("data" => $data, "success" => true ));
} else {
echo json_encode(array('success'=>false));
}
}
}
// сама функция findByEAuth
public static function findByEAuth($data) {
if (empty($data)) {
throw new ErrorException('');
}
$id = 'servis-'.$data['id'];
$attributes = array(
'id' => $data['id'],
'username' => $data['name'],
'authKey' => md5($data['id']),
);
$attributes['profile'] = $data;
$attributes['profile']['service'] = 'servis';
Yii::$app->getSession()->set('user-'.$id, $attributes);
return new self($attributes);
}
Использую авторизацию с vk и просто авторизацию.
И получил данные, и сессию записал, но авторизации нет — форма стоит на месте....
Может, вообще все не так делаю? Подскажите как правильно и как сделать чтоб работало? :)