matrix 서버에 마스토돈 로그인 추가하기
공식 가이드대로 하면 됩니다. ...만, 주의사항.
공식 가이드에서 제공하는 설정에는 함정이 있습니다.
localpart_template: "{{ user.username }}
이 설정은 마스토돈 유저의 핸들을 그대로 활용하여 로그인하게 하는 방법입니다. 여기서 문제가 생기는 게 무어냐, oidc를 활용한 가입을 열어두었을 경우 같은 아이디가 있으면 자동으로 id 뒤에 숫자가 붙어 중복 가입을 시켜버립니다.
반대로 oidc를 활용한 가입을 닫아두었을 경우 로그인이 불가합니다. allow_existing_users
옵션을 켜두었을 경우 같은 아이디를 가진 유저로 바로 로그인이 됩니다. 즉, 다른 유저로 인증 없이 로그인이 가능합니다.
그래서 localpart_template
를 없애보았는데 이번엔 비밀번호로 이미 가입한 계정에 연동하는 게 안 되더라고요. 덕분에 비밀번호 가입과 oidc를 동시 연동하겠다는 꿈이 깨졌습니다... ㅇ_ㅠ...
만져보니 db를 직접 건드리거나 이리저리 꼼수를 쓰면 어떻게 가능할 것 같긴 한데 추천하진 않습니다.
결론: 비밀번호 가입과 마스토돈 가입을 동시에 열어두면 로그인이 꼬인다.
참고로 기본 메뉴얼에도 있는 정보지만 enable_registration
를 켜두면 비밀번호 가입과 별도로 해당 oidc로 회원가입 여부를 결정할 수 있습니다.