jezra
(jezra)
1월 20, 2021, 11:45오후
1
모든 계정은 SSO를 통해 생성되므로 모든 사용자에게 external_id가 있습니다. 다른 스레드에서 이것이 가능하다고 언급되어 있습니다: How can I update users via API using the user id (not username)? - #2 by blake
david
(David Taylor)
1월 21, 2021, 12:25오전
2
먼저 사용자의 Discourse user_id를 조회한 다음, 해당 ID를 사용하여 업데이트 요청을 보내야 합니다. 첫 번째 단계에 도움이 될 링크입니다:
이 가이드는 API 호출을 사용하여 ID 제공자의 external_id를 기반으로 Discourse 사용자를 찾는 방법을 설명합니다.
필요한 사용자 권한: 관리자
외부 인증 시스템을 사용할 때, Discourse는 두 가지 사용자 ID를 추적합니다: Discourse의 user_id와 ID 제공자의 external_id입니다. external_id를 기반으로 Discourse 사용자를 조회해야 하는 경우, 이 howto (사용법) 글이 적합합니다! 아래에서 이 작업을 수행하는 방법을 배울 수 있습니다.
API 설정
먼저, 관리자 API 키가 올바르게 구성되었는지 확인하십시오. Discourse API 설정 및 사용에 대한 자세한 내용은 Discourse API 문서 를 참고하십시오.
DiscourseConnect
DiscourseConnect (구 Discourse SSO )를 사용 중인 경우, 다음 API 호출로 사용자…
jezra
(jezra)
1월 21, 2021, 12:49오전
3
감사합니다. 사용자를 업데이트할 때 API 요청을 두 번 보내는 것을 피하고 싶었는데, 레이트 리밋에 도달하는 문제로 어려움을 겪고 있었기 때문입니다. 다행히도 해결책을 찾은 것 같습니다. user_event 웹훅을 구성하면, 사용자가 SSO를 통해 Discourse에 로그인할 때 해당 사용자의 Discourse ID와 Discourse 사용자 이름을 로컬에 저장할 수 있습니다. 그러면 Discourse에 업데이트를 요청할 때 저장된 Discourse 사용자 이름을 사용할 수 있습니다.