WordPress 플러그인 SSO의 사용자 아바타를 업데이트할 수 있을까요?

SSO 플러그인은 정말 좋습니다.
하지만 Discourse의 사용자 아바타를 WordPress로 동기화할 수 없습니다.
이 부분을 업데이트해 주실 수 있을까요?

Hey @cmdntd :slight_smile:

WordPress에 DiscourseConnect 제공자로 Discourse를 설정하고 WP Discourse 플러그인을 사용하는 중인 것 같네요? 맞나요?

WordPress에는 기본적으로 사용자별 커스텀 아바타 기능이 없습니다. WordPress 아바타 플러그인을 사용해야 합니다. Discourse가 DiscourseConnect 제공자인 경우, WP Discourse 플러그인에는 Discourse 아바타를 동기화하는 설정이 단순히 제공되지 않습니다. 이는 커스텀 아바타 처리 방식이 WordPress에서 해당 종류의 커스텀 기능을 구현하는 방식에 따라 달라지기 때문이기도 합니다.

다만, WP Discourse 플러그인에는 Discourse 아바타 URL에 접근할 수 있는 필터인 wpdc_sso_client_updated_user를 제공합니다. 이 필터는 사용자가 DiscourseConnect를 통해 WordPress에 로그인할 때마다 적용됩니다.

add_filter( 'wpdc_sso_client_updated_user', 'my_wpdc_sso_client_updated_user', 10, 2 );
function my_wpdc_sso_client_updated_user( $updated_user, $query ) {
	## use $query['avatar_url']
}

따라서, 사용자가 WordPress에서 커스텀 아바타를 설정할 수 있도록 WordPress 아바타 플러그인을 사용하고 이 필터를 활용하면, Discourse가 DiscourseConnect 제공자인 경우 WordPress 사용자의 아바타를 해당 사용자의 Discourse 아바타로 설정할 수 있습니다.

고맙습니다. 바로 Discourse Connect provider for Wordpress가 필요했어요. 이 플러그인을 확인했습니다:

하지만 이 플러그인은 사용자에게 아바타 변경 권한도 부여합니다.
사실, 저는 사용자가 아바타를 변경하지 못하게 하고 싶습니다. 아바타 변경 권한 없이 사용자가 Discourse 아바타를 사용하도록 강제할 수 있을까요?

네, 해당 플러그인을 사용할 수 있습니다. 이전에 언급한 필터를 사용해 discourse의 image_url로 아바타 이미지를 설정해야 합니다. 이 부분은 Simple Local Avatars 플러그인에 특화된 내용이며, WP Discourse 플러그인에 직접 포함되지 않습니다.

해당 통합 처리 방법에 대해 확실하지 않다면, 해당 플러그인의 개발자에게 문의하거나 #marketplace에서 개발자를 고용할 수 있습니다.