2013-07-17 3 views
0

AppA 및 AppB의 두 가지 응용 프로그램이 있습니다. 사용자는 AppA에서 인증됩니다. 사용자가 AppA의 링크를 클릭하면 AppB로 리디렉션하고 AppB에 인증 데이터를 전달하므로 사용자는 AppB에서 동일한 자격 증명으로 자동으로 인증 될 수 있습니다.
한 웹 사이트에서 다른 웹 사이트로 인증 데이터를 전달하는 일반적인 방법이 있습니까?
가장 안전한 방법으로 어떻게 할 수 있습니까?다른 웹 사이트에 인증 데이터 전달

답변

0

쿼리 문자열이나 공유 쿠키를 통해 암호화 된 사용자 이름과 암호를 전달할 수 있습니다.

AppB에서 private_key를 공유하면 AppA에서 암호화 한 모든 것을 해독 할 수 있습니다.

공개 키와 개인 키를 생성하려면이 키를 실행하십시오.

여기서 새 키를 사용하여 \ 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; 
} 
+0

쿼리 문자열에 중요한 데이터를 전달하는 것은 아니오입니다. 또한, 다른 사이트로 보낼 사용자의 암호는 어떻게 가질 수 있습니까? 그것은 소금에 절인 + 해시 데이터베이스에 있어야합니다. –

관련 문제