У меня есть таблица "пользователи", и я хочу позволить моим посетителям войти в систему с их openID Account. Для этого я использую Компонент OpenId для Cakephp, и он хорошо работает (Когда я вхожу в систему с Google URL, я получаю "успешно аутентифицируемый!" уведомление).
Но теперь я отчасти застреваю, потому что я не знаю, как продолжить оттуда.
Нет, вам не нужно обращаться к таблице "oid_associations", это таблица, которая используется только библиотекой OpenID.
Вместо этого вы можете использовать identity_url
, чтобы выяснить, новый ли это пользователь. Если это так, вы можете создать запись в таблице "users". Например (при условии, что в таблице "users" есть столбец "openid"):
$response = $this->Openid->getResponse($returnTo);
if ($response->status == Auth_OpenID_SUCCESS) {
$user = $this->User->findByOpenid($response->identity_url);
if ($user) {
// existing user
} else {
// new user -> create user entry in the database
}
}
Я не уверен, что правильно понял ваш второй вопрос. Если кто-то входит в систему с OpenID и вы получаете ответ Auth_OpenID_SUCESS
, то это означает, что этот пользователь успешно прошел аутентификацию. Как вы будете использовать эту информацию в своем приложении, зависит от вас.
Надеюсь, это ответило на ваши вопросы.