pebble
1
この投稿は、実際には存在しないが私が実装したい機能についての内容です。現時点では、どれほどの作業量になるか見当もつかず、この質問の目的は必要な要件を把握することにあります。
いくつかの背景情報として、私たちはパスワードレス認証ソリューションに取り組んでいます。https://trykno.com/ このソリューションはサービスとして機能し、サービスを利用するサイトオーナーは、メールの安全な送信や、機密情報・個人識別情報の保存を自分で処理する必要はありません。
プロジェクトのためにフォーラムを設けることができ、Discourse を利用したいと考えています。
ただし、認証システムを Kno に置き換える必要があります。
質問です。
- Discourse の認証システムはプラグイン可能でしょうか?
- ユーザーにメールアドレスがあるという仮定がハードコードされている箇所はありますか?
- フロントエンドのフレームワークは何ですか?(gemfile には ember-rails が見えますが、package.json には ember の参照がありません)
もしこれらの質問が初歩的であれば申し訳ありません。私は Ruby 開発者ではないため、問題解決への手がかりは何でも貴重です。ありがとうございます
david
(David Taylor)
2
「Discourse」のことだと思われますが
はい、プラグイン可能です。認証プラグインを開発するか、ネイティブ SSO システムを使用できます。
はい、Discourse ではすべてのユーザーにメールアドレスが必要です。無効なメールアドレス(.invalid で終わるものなど)を指定することも可能ですが、推奨はしません。
Ember です。ただし、認証プラグインの場合、フロントエンドを触る必要はほとんどないでしょう。
「いいね!」 6
pebble
3
ああ、恥ずかしいですね。更新します。
Kno を使用する際にユーザーのメールアドレスを知る必要がないという機能ですが、必要に応じて取得することもできます。
「いいね!」 2
pfaffman
(Jay Pfaffman)
4
現在は、パスワードを使用せず、リンクを送信するだけでログインすることが可能です。
もし、kno の開発が目的であれば、OAuth サーバーとして開発することをお勧めします。これにより、SSO 以外の認証ソースとしても利用できるようになります。詳細は Discourse OAuth2 Basic をご覧ください。
「いいね!」 2
pebble
5
リンクが送信される可能性はありますが、kno はそれ以上に、メールのワンタイム認証完了後に WebAuthn を通じたデバイス認証などの機能を提供しています。
OAuth サーバーとして開発しても、私たちが求める要件を満たすことは残念ながらできません(その理由を FAQ に記載すべきかもしれませんが、要するに、kno では異なるデバイスを使って 1 つのデバイスで認証できる点にあります)。
さらに詳しく検討した結果、Discord 固有の SSO ソリューションを実装することで、実用的な最初のバージョンを作成できるようです。
「いいね!」 1
pebble
6
1 つの OAuth プロバイダーのみを使用し、他のすべての認証方法を無効化することは可能でしょうか?
その場合、ログインをクリックすると自動的に認証フローが開始され、ログインモーダルを開いてユーザーにプロバイダーを選択させる必要がないとよいのですが。
それに対処できるかもしれません。
しかし、わざわざやる必要はありません。ログイン済みのユーザーは、そのダイアログをほとんど見ないからです。
時間をより生産的に他の問題の解決に費やす方が良いでしょう。
Falco
(Falco)
8
試されましたか?Discourse は、もともとそのような動作を数年間サポートしています 
「いいね!」 3
pebble
9
まあ、これは素晴らしいですね。
いいえ、まだ試していません。私のサービス用のOAuthプロバイダーを実装していないからです。その後、新しいOAuthプロバイダーになるため、プラグインを作成する必要があると思います。
SSO統合はほぼ完了したので、OAuthへの切り替えには最適なタイミングだと思います 
「いいね!」 1