저희는 SSO를 구현한 PHP/Laravel 플랫폼에 Discourse를 통합하고 있습니다. 사용자들의 커스텀 프로필 사진은 한 번만 업데이트됩니다. 그러나 Laravel 플랫폼에서 프로필 사진을 변경해도, 로그아웃 후 다시 로그인해도 Discourse에서 커스텀 사진이 다시 업데이트되지 않습니다.
'avatar_force_update’를 true로 전달했음에도 불구하고, 커스텀 아바타 사진이 덮어쓰기되지 않습니다.
저희는 SSO를 구현한 PHP/Laravel 플랫폼에 Discourse를 통합하고 있습니다. 사용자들의 커스텀 프로필 사진은 한 번만 업데이트됩니다. 그러나 Laravel 플랫폼에서 프로필 사진을 변경해도, 로그아웃 후 다시 로그인해도 Discourse에서 커스텀 사진이 다시 업데이트되지 않습니다.
'avatar_force_update’를 true로 전달했음에도 불구하고, 커스텀 아바타 사진이 덮어쓰기되지 않습니다.
상황 업데이트입니다
프로필 사진 URL이 SSO 기록에 업데이트된 것을 확인할 수 있지만, 로그아웃 후 다시 로그인해도 디스커스에 새로운 프로필 이미지가 반영되지 않습니다.
브라우저를 새로고침하면 어떨까요?
discourse_connect_overrides_avatar 사이트 설정이 활성화되어 있나요?
답변해 주셔서 감사합니다. 브라우저를 새로고침하거나 시크릿 모드로 열거나, 심지어 로그아웃 후 다시 로그인해도 업데이트되지 않습니다.
앞서 언급했듯이, 처음 한 번만 업데이트됩니다. 예를 들어
상세 로깅을 활성화하고 로그를 확인하여 SSO 시스템이 아바타 정보를 전송하는지 살펴볼 수 있습니다.
discourse connect overrides avatar 설정을 활성화하고, Discourse에서 로그아웃한 후 다시 로그인해 보는 것이 도움이 될 수 있습니다. SSO 페이로드에 avatar_force_update 파라미터가 true로 설정되어 있는 한, 해당 설정이 활성화되지 않아도 아바타가 업데이트될 수 있는 것이 정상적인 동작이라고 확신합니다. 다만 이 부분을 처리하는 코드는 다소 복잡합니다: discourse/app/models/discourse_connect.rb at 2ff3f44b957268718e03554fb25d485e1d449ed5 · discourse/discourse · GitHub.
해당 설정을 활성화할 수 없거나, 현재 무슨 일이 일어나고 있는지 궁금하다면 확인해 볼 또 다른 사항은 avatar_force_update 파라미터에 전달하는 값이 Discourse에 의해 부울 true로 해석되고 있는지 확인하는 것입니다. 일부 프레임워크(특히 WordPress)에서는 부울 값이 0 또는 1로 변환됩니다. 이 문제를 우회하기 위해 Discourse는 SSO 페이로드에서 문자열 "true"를 부울 값으로 수용합니다. 이는 사용자 관리자 페이지에 표시되는 SSO 기록에서 avatar_force_update 필드의 값을 확인함으로써 이를 검증할 수 있습니다. 또는 Jay가 언급한 상세 로깅(verbose logging) 설정을 활성화하여 확인할 수도 있습니다.