Нет, вам не нужно обращаться к таблице "oid_associations", это таблица, которая используется только библиотекой OpenID.
Вместо этого вы можете использовать identity_url
, чтобы выяснить, является ли он новым пользователем. Если это так, вы можете создать запись в своей таблице «пользователи». Например (при условии, что в вашей таблице «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
, это означает, что этот пользователь успешно прошел аутентификацию. Как вы используете эту информацию в своем заявлении, зависит от вас.
Надеюсь, это ответит на ваши вопросы.