Discourse에서 사용자 이름을 변경하면 WordPress 계정이 완전히 삭제됩니다 (WP를 제공자로 사용하는 SSO)

SSO with Wordpress but users cannot change their username 토론을 계속합니다:

저는 디스코스 워드프레스 플러그인을 사용하여 WP를 SSO 제공자로 설정하고 있습니다.

사용자가 WP에서 계정을 생성할 때, 우커머스(WooCommerce)를 통해 계정을 생성하도록 설정해 두었습니다. 또한 이메일 인증을 통해 WP 계정을 확인하기 전까지 로그인할 수 없도록 설정해 두었습니다.

사용자가 포럼을 방문하면 “로그인” 버튼을 클릭해야 하며, 사용자가 이메일 인증을 완료하고 로그인된 상태라면 디스코스에 인증되고 포럼 계정이 생성(provisioning)됩니다.

저는 사용자가 디스코스에서 사용자 이름을 변경할 수 있도록 허용하고 있었습니다.

사용자 이름 변경 시 어떤 결과가 발생합니까?

그런데 워드프레스에서 해당 계정이 우커머스/WP 데이터베이스에서 삭제/제거된다는 사실을 발견했습니다. 어디에서도 찾을 수 없습니다.

그런 다음 사용자가 다시 로그인하려고 하면 로그인할 수 없습니다… 물론, 더 이상 WP에 계정이 없기 때문입니다. 이것이 예상되는 동작인가요? 다른 분들도 이런 경험을 해 보셨나요?!

그 이후로 "사용자 이름 변경 기간"을 "0"으로 변경했습니다.

“계정 생성 후 사용자 이름을 변경할 수 있는 최대 일수(사용자 이름 변경을 금지하려면 0으로 설정).”

사용자가 사용자 이름을 변경하려면 저희에게 연락하여 워드프레스에서 포럼과 일치하도록 변경해 주면 됩니다. 이렇게 하면 잘 작동합니다. (@AdamCapriola 님이 여기에서 제안한 “Username Changer” 플러그인을 사용 중입니다.)

WordPress가 Discourse의 SSO 제공자일 때, WP Discourse 플러그인이 WordPress 사용자에게 가하는 유일한 변경 사항은 사용자에게 discourse_sso_user_id와 discourse_username 메타데이터 필드를 추가하는 것입니다. 사용자가 Discourse에서 사용자 이름을 변경할 때 WordPress 사용자가 데이터베이스에서 삭제되도록 하는 플러그인의 동작은 제가 아는 한 없습니다.

제가 아는 한, 사용자가 Discourse에서 사용자 이름을 변경하는 것의 유일한 결과는 WordPress에 저장된 사용자의 Discourse 사용자 이름이 사용자의 실제 Discourse 사용자 이름과 동기화되지 않게 될 수 있다는 점입니다. 이 경우 사용자가 Discourse에 게시물을 게시하는 능력에 영향을 미칠 수 있습니다. SSO 로그인에는 문제가 발생하지 않아야 합니다. WordPress 데이터베이스에서 사용자가 삭제되는 원인이 되어서는 안 됩니다.

이것은 Discourse 문제가 아니라 WordPress 문제이지만, 기본 WordPress 기능을 무시하기 위해 플러그인을 사용하는 것은 권장하지 않습니다. WordPress에서 사용자 이름은 편집 가능하도록 의도되지 않았습니다. 기본 동작을 유지하는 것이 가장 좋습니다.