사용자가 내 서비스에 등록한 후 이메일을 통해 등록을 확인하는 사용 사례가 있습니다. 내가 가지고있는 문제는 전자 메일이 계정을 만들기 위해 확인 될 때까지 기다려야한다는 것입니다. (이것은 바꿀 수없는 외부 요구 사항입니다.) 암호를 일반 텍스트로 가져올 수 있도록 어딘가에 저장해야합니다.임시로 사용자 비밀번호 저장
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 해결 방법은 사용자를 인증 할 때까지 암호를 암호화하여 redis에 저장 한 다음 계정을 만들고 redis 항목을 제거하는 것입니다.
이렇게하는 것이 가장 안전하고 안전한 방법입니까?
가 왜 해시 수 없습니다 + 소금 비밀번호를 저장하고 그 값을 저장 하시겠습니까? 제 3 자에게 암호를 제공해야하는 경우 사용자가 암호를 입력했지만 일반 텍스트로 저장하지 마십시오. 사용자가 이메일로 계정을 확인하면 암호의 해시 값 + 소금 값을 사용하여 계정을 만들 수 있습니다. 그런 다음 나중에 인증을 시도 할 때 암호를 입력 한 값과 데이터베이스의 해쉬 된 + 소금 화 된 값을 비교하면됩니다. – bsimic
@bsimic : 중요한 것은 데이터베이스에 암호를 전혀 저장하지 않기 위해서입니다. 또한 사용자는 나를 거치지 않고 외부 시스템에 액세스 할 수 있으므로 다른 시스템에서도 비밀번호가 작동해야합니다. – Falmarri
OAuth 서비스 제공 업체가이 제 3 자에게 기회가 있습니까? 그렇다면 그렇게 할 수 있습니다. 또 다른 옵션은 Open ID (http://openid.net/)와 같은 것을 사용하는 것입니다. 여기서 어디서든 인증을 직접 할 필요는 없습니다. 당신은 OpenID가 어떻게 작동하는지 볼 수 있습니다. http://www.windley.com/archives/2006/04/how_does_openid.shtml – bsimic