有两个应用程序 AppA 和 AppB。用户在 AppA 中进行了身份验证。当用户单击 AppA 中的链接时,我想将他重定向到 AppB 并将身份验证数据传递给 AppB,因此用户可以在 AppB 中使用相同的凭据自动进行身份验证。
是否有将身份验证数据从一个网站传递到另一个网站的通用方法?
我怎样才能以最安全的方式做到这一点?
问问题
180 次
1 回答
0
您可以通过查询字符串或共享 cookie 传递加密的用户名和密码。
如果您在 AppB 上共享 private_key,您可以解密您在 AppA 上加密的任何内容。
运行此程序以生成您的公钥和私钥。
openssl genrsa -out public_key.pem 2048
openssl rsa -in public_key.pem -pubout > private_key.pub
在这里,您可以使用新密钥进行加密\解密。
function encrypt($data)
{
if (openssl_public_encrypt($data, $encrypted, file_get_contents("/home/blah/key/private_key.pem")))
$data = base64_encode($encrypted);
else
throw new Exception('Unable to encrypt data. Perhaps it is bigger than the key size?');
return $data;
}
function decrypt($data)
{
if (openssl_private_decrypt(base64_decode($data), $decrypted, file_get_contents("/home/blah/key/private_key.pem")))
$data = $decrypted;
else
$data = '';
return $data;
}
于 2013-07-17T08:21:06.053 回答