ユーザーネームを含むディープリンクを使った簡単なメールによるログイン

学校のフォーラムへのログインのハードルを、以下の手順で下げたいと考えています。

  1. (ほとんど非公開の)フォーラムへのメールで送信されるリンクには、宛先のユーザー名が含まれるようにします(例:forum.my.tld/t/123#user=toka)。

  2. ログインしていないユーザーがこのリンクを開いた場合、ボタンをクリックするとログインリンクを送信できるページが表示されます。

  3. クリックすると、ユーザーにログイン・トークン付きのログインが送信され、これにより特定の時間、追加の操作なしでターゲットページを開くことができるようになります。それ以外の場合は、「ログインリンクを再送信」ボタンが表示されるべきです。

これはすでにどこかで実装されていますか?

もしそうでない場合:これを実装するために使用できる仕組みはありますか?

「いいね!」 2

DiscourseConnectを使用して、システムにログインしたユーザーがDiscourseにもログインできるようにしたい場合。

DiscourseConnectの設定 - Discourseの公式シングルサインオン(SSO)

他のシステムはありません。
ほとんどのユーザーはメールのみでフォーラムを使用しています。

「いいね!」 1

メールでのログインはすでにサポートされています。

したがって、これを自動化/簡素化することは間違いなく可能です。

「いいね!」 5

はい。フォーラムへのログインはそれが主な方法ですが、多くのユーザーにとっては難しすぎるようです。

さらに、一部のユーザーがコミュニケーションに同一でないメールアドレスを使用しているという問題に直面しています。たとえば、(at)gmail.com(at)googlemail.com、またはドットの有無にかかわらずユーザー名に追加されたメールアドレスなどです。彼らは、登録フォームに一度書いたメールアドレスを覚えておらず(はい、すみません、ドイツです)、これらの問題や、メールヘッダーを確認することで「ログインメールアドレス」を知ることができる可能性に気づいていません。

そのため、ユーザーに送信されたリンクから、Discourseのログイン手順をさらに知ることなくログインできる方法を調査しています。

「いいね!」 1

確かにセキュリティリスクはありますが、それを許容できるのであれば、メールでログインしようとしたときに生成されるリンクを自動生成する機能は、アカウントを既に持っている限り、確かに実現可能です。

「いいね!」 1

うーん。私の提案でこれを回避しようとしました。
ユーザーを直接ログインさせるリンクは危険であると理解しています。

しかし、提案されたメカニズムでは、私が認識している唯一のリスクは、ユーザーが望まないログインリンクを受け取ることです。

「いいね!」 1

最初の動作する実装があります。

次に、通知内のすべてのディスコースへのリンクをユーザー情報で装飾する方法を学習しようとしています。

「いいね!」 2

この機能は現在実装されています。

ログイン後に destination_url にリダイレクトするために、コアメソッドをオーバーライドする必要がない可能性について質問するのに適切な場所はどこですか?

および

?

「いいね!」 1