将身份验证数据传递到另一个网站

时间:2013-07-17 08:13:16

标签: security authentication

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

1 个答案:

答案 0 :(得分:0)

您可以传递通过查询字符串或共享Cookie加密的用户名和密码。

如果您在AppB上共享private_key,则可以解密在AppA上加密的任何内容。

运行此选项以生成公钥和私钥。

openssl genrsa -out public_key.pem 2048
openssl rsa -in public_key.pem -pubout > private_key.pub

在这里,您可以使用新密钥加密\ decrypt。

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;
}