管理者としてユーザーにプログラムでAPIキーを作成

おそらく、DiscourseConnect - Discourseの公式シングルサインオン(SSO)のようなものが必要なのでしょう。

あるいは、アプリがブラウザでDiscourseからデータを取得している場合、ユーザーはすでにログインしています。または、アプリがバックエンドで自動的にデータを取得している場合は、グローバルキーを使用できます。