APIからユーザーの「external_id」を取得する方法をご存知の方はいらっしゃいますか?SSOログイン時にexternal_idを追加しましたが、APIが返すユーザーハッシュにはexternal_idが表示されません。Webhookを処理する際、外部IDを自社のデータベースからユーザーを特定する手段として使用したいと考えています。
はい、認証済みの GET リクエストを https://discourse.example.com/u/by-external/{external_id}.json に送信することで可能です。
このルートは、こちらでドキュメント化されています:Discourse API Docs
「いいね!」 2
また、逆変換(つまり、user_id から external_id を取得する)を行うには、以下のいずれかの方法があります:
-
Discourse Ruby API を使用して、
user_sso(user_id)メソッドを呼び出す -
認証付き GET リクエスト を以下に送信する:
https://discourse.example.com/admin/users/{id}.json
そして、ハッシュキー"single_sign_on_record"["external_id"]を探す
なお、single_sign_on_record(および external_id)は、以下の呼び出しでは返されません:
https://discourse.example.com/users/{username}.json
「いいね!」 2
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.