Yii \ authclient \ AuthAction'ın successCallback uygulamasını deniyorum.Yii2'de AuthAction
Benim kod şöyle görünür:
public function actions()
{
return [
'auth' => [
'class' => 'yii\authclient\AuthAction',
'successCallback' => [$this, 'successCallback'],
],
];
}
/**
* @param \yii\authclient\ClientInterface $client
*/
public function successCallback($client)
{
$attributes = $client->getUserAttributes();
$externalUser = new AuthForm();
$externalUser->authProvider = $client->getName();
$externalUser->externalUserId = array_key_exists('id', $attributes) ? $attributes['id'] : null;
if ($externalUser->validate())
{
if ($externalUser->isRegistered())
{
$externalUser->login();
return $this->redirect(['private/index']);
}
else
{
Yii::$app->session->set('signup/authProvider', $externalUser->authProvider);
Yii::$app->session->set('signup/attributes' , $attributes);
return $this->redirect(['site/signup']);
}
}
}
nasıl successCallback çağırabilir? Kimlik doğrulama yöntemini aramak istiyorum. Ama bunu yapamıyorum?
'$ externalUser-> login();' Oturum açma işlevini çağırmak istiyor ancak kullanıcı giriş yapmıyor mu? –