将URL作为URL参数传递

And*_*rea 0 php url cakephp

我正在CakePHP应用程序中实现OpenId登录.在某个时刻,我需要重定向到另一个动作,同时保留有关OpenId身份的信息,例如,它本身就是一个URL(带有GET参数),例如

https://www.google.com/accounts/o8/id?id=31g2iy321i3y1idh43q7tyYgdsjhd863Es

我如何传递这些数据?第一次尝试将是

function openid() {
    ...
    $this->redirect(array('controller' => 'users', 'action' => 'openid_create', $openid));
}
Run Code Online (Sandbox Code Playgroud)

但显而易见的问题是,这完全搞砸了CakePHP解析URL参数的方式.

我需要做以下任何一种情况:

1)以CakePHP友好的方式对URL进行编码以传递它,然后对其进行解码,或者

2)将URL作为POST参数传递

但我不知道该怎么做.

编辑:回应评论,我应该更清楚.我正在使用OpenId组件,我有一个有效的OpenId实现.我需要做的是将OpenId链接到现有的用户系统.当新用户通过OpenId登录时,我会询问更多详细信息,然后使用此数据创建新用户.问题是我必须在整个过程中保留OpenId URL.

dho*_*tet 6

我的建议是将URL存储在会话中.