Я реализую вход в систему OpenId в приложении CakePHP. В определенный момент мне нужно перенаправить к другому действию, сохраняя при этом информацию об идентификаторе OpenId, который сам является URL (с параметрами GET), например
https://www.google.com/accounts/o8/id?id=31g2iy321i3y1idh43q7tyYgdsjhd863Es
Как мне передать эти данные? Первая попытка будет
function openid() {
...
$this->redirect(array('controller' => 'users', 'action' => 'openid_create', $openid));
}
но очевидная проблема состоит в том, что это полностью портит способ, которым CakePHP анализирует параметры URL.
Мне нужно сделать одно из следующих действий:
1) закодировать URL дружественным CakePHP способом для его передачи и декодирования после этого, или
2) передать URL как параметр POST
но я не знаю, как это сделать.
РЕДАКТИРОВАТЬ: В ответ на комментарии, я должен быть более ясным. Я использую компонент OpenId, и у меня есть рабочая реализация OpenId. Что мне нужно сделать, это связать OpenId с существующей системой пользователя. Когда новый пользователь входит в систему через OpenId, я спрашиваю более подробную информацию, а затем создаю нового пользователя с этими данными. Проблема в том, что я должен сохранять URL-адрес OpenId на протяжении всего этого процесса.