Google OAuth2 사용자에게 "user1", "user2"... 같은 사용자명이 발급되는 것을 방지하는 방법?

아직까지는 내 포럼에서 실명 대신 사용자 이름을 표시하는 방식을 선호하고 있으며, 실명 필드를 선택 항목으로 설정해 두었습니다.

하지만 일부 Google OAuth2(“Google로 로그인”) 사용자가 “User1”, “User2” 등 apparently 기본 사용자 이름을 부여받은 것으로 보입니다.

이런 범용적인 기본값이 섞여 있는 것을 정말 좋아하지 않습니다.

이 현상은 meta에서도 발생하는 것 같습니다:

왜 대부분의 Google OAuth2 사용자는 아닌데 일부 사용자에게만 이런 일이 발생하는지 모르겠습니다. 어떤 통찰을 주실 수 있다면 환영합니다.

사용자 이름에 대한 강조를 다시 생각해 볼 수도 있겠지만, OAuth2 가입을 비활성화하는 것 외에는 이 “User[X]” 동작을 방지할 방법이 있을까요?

제 추측이지만, 해당 사용자의 사용자 이름에 공백이나 특수 문자가 포함되어 있어서 그런 것은 아닐까요? Discourse에서는 사용자 이름에 공백이나 특수 문자를 사용할 수 없습니다.

하지만 @pmusaraj 님이 훨씬 더 잘 아실 겁니다. 저도 궁금해졌네요 :slight_smile:

이것이 해당 사이트 설정에서 비롯된 것이라고 확신합니다.

이 옵션이 해제되어 있으면, 특히 사용자가 업스트림 계정에 표시 이름(display name)을 설정하지 않은 경우 사용자 이름 선택기가 기본적으로 userN으로 설정됩니다.

보안은 1, 편의성은 0이네요 :grinning_face:

감사합니다! 이 정확한 설명은 옵션 텍스트에 유용한 추가 내용이 될 것입니다.

결국 해당 상자를 선택하게 될 수도 있겠네요. 제안된 이름을 사용자가 수정할 수 있으므로 위험은 낮은 것 같습니다.

이메일을 사용자 이름과 이름 제안에 사용이 비활성화된 경우, userN을 제안하는 대신 가입 시 사용자 이름 필드를 비워 두는 것이 가능합니다. 신규 Discourse 사이트의 관리자 계정 가입 시 이와 유사한 방식을 적용한 바 있습니다.

@ToddZ님, 사이트 회원들에게도 이러한 방식을 적용하는 것을 원하시나요?

저도 그쪽이 훨씬 낫다고 생각합니다. userN 같은 이름이 잔뜩 생기는 것보다는, 사람들이 키보드를 두드려서 의미 없는 사용자 이름을 만들거나 (사용자 이름 생성기 API)를 활용하는 쪽이 훨씬 나을 것 같아요.

userN을 선호할 이유가 도무지 떠오르지 않는데, 제가 뭣을 놓치고 있다면 선택적 설정을 추가해서 모두를 만족시킬 수도 있겠네요.