0

有两个应用程序 AppA 和 AppB。用户在 AppA 中进行了身份验证。当用户单击 AppA 中的链接时,我想将他重定向到 AppB 并将身份验证数据传递给 AppB,因此用户可以在 AppB 中使用相同的凭据自动进行身份验证。
是否有将身份验证数据从一个网站传递到另一个网站的通用方法?
我怎样才能以最安全的方式做到这一点?

4

1 回答 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 回答