ユーザーのログインフローを経由せずに、バックエンドサービスからプログラム的にユーザー用の新しいトピックを作成したいと考えています。SSOユーザーをDiscourseに直接プッシュすることは可能でしょうか?
DiscourseConnect を使用してサイト上のユーザーを認証している場合、このメソッドでユーザーをプログラム的に作成または更新できます。sync_sso ルートを使用して DiscourseConnect のユーザーデータを同期する。なお、これによりユーザーが Discourse にログインするわけではなく、ユーザーが作成されるだけです。これが目的でない場合は、実施したい内容の詳細を当社にお知らせください。
「いいね!」 2
その通りです!完璧ですね。
ちなみに、もし新しいトピックのパラメータが SSO ログインフローを通過して保持されるのであれば、このような対応は不要でした。しかし、それを機能させるための適切な方法が見つからず、結果としてログインしていないユーザーが空白のトピック作成フォームにリダイレクトされてしまいます。これをバグとして認識されるようであれば、どこかへバグ報告を提出することも可能です。![]()
「いいね!」 1
それを動作させることは可能はずです。パラメータが削除されている場合、Discourse ではなく、使用中の SSO コードによって削除されている可能性が高いです。詳細については、以下の投稿をご覧ください:https://meta.discourse.org/t/compose-a-new-pre-filled-personal-message-via-url/35984/11。なお、その投稿の例 URL は新しいトピック作成ではなく、新しいプライベートメッセージ(PM)作成を想定しています。ただし、同じアプローチで新しいトピックを作成することも可能です。
「いいね!」 1
お、それなら動くんですね!素晴らしいです。この URL は右に戻りませんが、SSO URL にリンクするのはとても簡単です:
http://localhost:3000/new-topic?title=wat&category=questions-and-help/build-debugging&tags=build```
「いいね!」 1