순수 SQL로 새 사용자 만들기

app.yml 팁 감사합니다. 잘 작동했습니다.

네, 이 기능을 테스트해 보고 있습니다:

  1. migrationpassword 플러그인 설치
  2. ‘Allow migratepassword allow insecure passwords’ 옵션 활성화
  3. 새 사용자 생성 (API를 통해)
  4. 커스텀 필드에 비밀번호 해시 추가
    예: insert into user_custom_fields (user_id, name, value, created_at, updated_at) values (2,‘import_pass’,‘2aee1c40222c7754d4534xxxxxxx’, now(), now());
  5. 이전 포럼의 비밀번호를 사용하여 새 사용자로 로그인 시도

‘Incorrect username, email or password’ 오류가 발생하는데, 위 답변이 이해가 되지 않습니다. API를 통해 비밀번호를 제공하지 않으면 사용자를 생성할 수 없기 때문에 (저는 그냥 md5 해시를 사용했습니다) 비밀번호가 있으면 md5 해시보다 우선한다는 말씀이 맞나요?

md5 해시를 비밀번호로 사용하는 것은 권장하지 않습니다. 해당 값이 실제 비밀번호로 사용되기 때문입니다. 사용자 생성 시 비밀번호 필드가 필요하지 않다면, 대신 긴 랜덤 문자열을 사용하세요.

제가 말씀드리고자 했던 것은, Discourse가 먼저 사용자가 입력한 비밀번호를 저장된 비밀번호와 일치시켜 사용자를 로그인 시도한다는 것입니다. 이 시도가 실패할 경우에만 migratepassword 플러그인이 작동하며, 내장된 여러 대체 해시 알고리즘(md5가 그중 하나입니다)을 사용하여 사용자 필드와 입력된 비밀번호를 대조하여 비밀번호가 올바른지 확인합니다.

아, 죄송합니다. 제 실수였습니다. user_custom_fields에 비밀번호 해시 값을 잘못 넣었네요. 이제 고쳐졌네요. 감사합니다…

… 하지만

사용자를 활성화(activate) true로 생성했는데, 관리자 콘솔에서 사용자를 확인하면 활성화된 것으로 표시되지만 로그인하려고 하면 다음과 같은 메시지가 표시됩니다:

아직 로그인할 수 없습니다. 이전에 user@email.com으로 활성화 이메일을 보냈습니다. 계정 활성화를 위해 해당 이메일의 지시를 따르세요.

왜 이런 메시지가 뜨는 걸까요? 이 문제를 피하려고 했는데요.

제 환경에서는 잘 작동하는데… 어떤 오류가 발생하나요?

사이트에 접속하려고 하면 502 오류가 발생하며, 지난번에는 몇 시간 동안 방치해 두었습니다.
하지만 명령을 실행하는 쪽에서는 오류를 발견하지 못했습니다.

죄송합니다만, "그렇게 하지 마세요"라는 이유로 이 이슈를 닫겠습니다.

위험도가 높고, 여러분이 쉽게 잊어버릴 수 있는 부수 효과가 많습니다.