SSO 전용 로그인 계정을 삭제할 때 로그아웃 리다이렉트가 아닌 인증 URL로 이동하여 루프 발생

컨텍스트: 로컬 로그인이 비활성화되고, 익명 접근이 비활성화되며, Basic OAuth 플러그인을 통해 OAuth2 제공자가 추가된 경우, 사용자가 로그아웃을 클릭하면 logout redirect URL이 준수됩니다.

버그: 사용자가 자신의 계정을 스스로 삭제하려고 하면, logout redirect URL로 리다이렉트되지 않고 포럼 기본 URL로 돌아갑니다. 이후 익명 뷰어가 비활성화되어 있다는 안내 없이 SSO 인증 URL로 리다이렉트됩니다.
사용자는 여전히 SSO 제공자에 로그인된 상태이므로, 즉시 계정이 다시 생성됩니다.

가장 즉각적인 수정 방법은 계정 자체 삭제 후에도 logout redirect 설정을 준수하도록 하는 것입니다.
추가 개선 사항으로는, 스스로 계정을 삭제한 사용자의 목록을 유지하고, 동일한 정보로 계정이 다시 생성될 때 이전에 삭제된 계정을 다시 생성하려는 중이라는 설명 프롬프트를 표시하여 이를 방지할 수 있도록 하는 것입니다. 관리자가 이러한 재생성된 계정의 수동 활성화(스태프 승인)를 요구하도록 선택할 수 있다면 더 좋습니다.

2개의 좋아요

확인 차问一下 - 여기서 언급된 플러그인이 바로 이거죠?

또한 - 다시 OAuth에 집중하고 있는데, 이걸 테스트하려면 로컬 OAuth2 제공자를 설정해야 하는 것 같네요? 맞나요? 추천하는 게 있을까요? @nat

좋아요!

여기 공유한 그 플러그인의 README가 시작하기에 좋은 곳이네요.

1개의 좋아요

크리스님, 안녕하세요.

네, 제 경우에는 말씀하신 플러그인을 사용 중이며, 프로바이더로는 구체적으로 Authentik을 사용했습니다. 계정 삭제 시 리다이렉트 루프 문제로 인해 다시 등록되는 문제를 제외하고는 모든 기능이 의도대로 정상 작동하고 있습니다.

감사합니다.

1개의 좋아요

이것은 병합되었습니다. redirect to /login after account delete to prevent recreation of sso account - Pull Request #22575 - discourse/discourse - GitHub

2개의 좋아요