확인 이메일을 비활성화하거나 관리자 권한 해제 시 확인 이메일을 보내지 않도록 하는 설정이 필요합니다. 저는 API를 통해 관리자를 수정하는 기능을 설정했는데, 시스템에서 이를 기능적으로 사용할 수 없었습니다. 그 이유는 이메일 확인을 요구하기 때문인데, 시스템에는 어째서인지 확인용 이메일이 없었습니다. 또한, 권한 해제에는 확인 절차가 전혀 필요하지 않습니다. 이 문제로 인해 제 계정뿐 아니라 다른 여러 계정의 관리자 권한을 잃었습니다.
방금 제 사이트에서 이 기능을 테스트해 보았습니다. API를 통해 관리자 권한을 해제하려면 https://forum.yourdomain.com/admin/users/<user_id>/revoke_admin으로 PUT 요청을 보내면 됩니다. 이렇게 요청하면 관리자 권한이 해제되고 이메일 확인 절차는 필요하지 않습니다. 다만, 이 요청에 대해 Discourse가 반환하는 응답에서 몇 가지 문제를 발견했습니다.
만약 해당 사용자에게 실제로 관리자 권한이 있는 경우, API를 통해 관리자 권한을 해제하면 성공 메시지가 아닌 빈 응답을 받습니다.
만약 해당 사용자에게 관리자 권한이 없는 경우, https://forum.yourdomain.com/admin/users/<user_id>/revoke_admin으로 PUT 요청을 보내면 HTML 응답을 받고, https://forum.yourdomain.com/admin/users/<user_id>/revoke_admin.json으로 요청을 보내면 invalid access 오류가 발생합니다.
이 라우트에 대해 정보성 있는 성공 및 실패 메시지를 제공하면 좋겠습니다.
확인 이메일 없이 관리자 권한을 _부여_하는 것은 적절하지 않을 것 같습니다. 현재 방식은 추가적인 보안 계층을 제공하기 위해 의도된 것입니다.