任意のグローバル招待コード

最初の提案は招待の追跡のみですか?はい、もちろん。トークンなしのユーザー名は公開情報なので、TL1 を付与すべきではありません。

image

これらのリンクの形式を https://meta.discourse.org/signup?u=codinghorror&token=3ojk6WTY のようにして、最初の部分と一致させることを提案してもよいでしょうか :slight_smile:

:+1: その発想はありませんでした。ドキュメント化するのは難しいかもしれませんが、設定の連携はこうあるべきです。

「いいね!」 8

ああ、Discord をここにコピーすることにはデメリットはありません。以前は、純粋な URL ベースの招待(メール不要)があったと_思います_が、セキュリティ上の問題で削除せざるを得ませんでした。覚えてますか、@techapj:thinking:

「いいね!」 8

はい、「メール不要」という部分がセキュリティ上のミスでした。これらの招待は、直接ユーザーのメールボックスに届くものではないため、メール認証(またはメール認証付きのソーシャルログイン)を必須にするべきです。

「いいね!」 5

共有をできるだけ容易にすることが目的なら、リファラルコードのようにアプローチするのはどうでしょうか。プレゼンテーションスライド、プレーンテキスト、または口頭で簡単に共有できるような仕組みです。クエリ文字列は混乱を招きやすく壊れやすいですが、domainname.tld/invite/samgdc2020 のような形式は記憶に留まりやすく、リスクも低く、人々がメモに書き留めても移動中に失われることなく生き残れるようなものです。

予防策として、保護の層として何らかの形式のコード有効期限を設定することを強くお勧めします。

「いいね!」 7

有効期間や利用回数制限は、同様の機能を実装している他のソフトウェアでも採用されている妥当な制限です。また、一般的にはユーザーが定義できます。

「いいね!」 11

確かにですが、PRを見ると、サイト全体で単一のコードが使用されています。

「いいね!」 1

はい、その機能は現在もプラグインとして提供されています:

URL の形式は以下のようになります:http://discourse.example.com/invite-token/redeem/TOKEN?username=USERNAME&email=EMAIL&name=NAME&topic=TOPICID

最小限の URL は以下の通りです:http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL

セキュリティ上の問題は、提供されたメールアドレスを持つユーザーの存在を確認していなかったことでしたが、現在はプラグイン内で確認を行うようにしています。

「いいね!」 11

ユーザー名をデフォルトでトークンに埋め込み、明示的なユーザーを追加することで上書きできるようにするのはどうでしょうか?

token については、非技術者にも理解しやすい code を使うことをお勧めします。

そうは思いません。プラグインによって生成されるトークンにはメールアドレスが含まれていませんが、メールを追加することでしか使用できません。一方、ここではその要件を排除したいというのが趣旨ですよね?

セキュリティ上の問題も解決できます。

これが実現できれば素晴らしいですね。:slight_smile:

「いいね!」 4

これらの招待コードは期限が切れるのでしょうか、それとも無期限に有効なのでしょうか?少なくとも現時点では、サイト設定として上限を設ける必要があるかもしれません。

「いいね!」 7

GitHub - discourse/discourse-invite-tokens: Discourse Invite Tokens · GitHub を機能させるには、まだメールアドレスが必要ではないでしょうか?仕組みを誤解している可能性もあります。

私が求めているのは、メールアドレスを含まないカスタマイズされたリンクです。それを組織が会員(顧客)に送信し、登録時に特定のグループと開始トピックを自動的に割り当てる仕組みです。その理由は、私が関わる医療機関ではメールアドレスリストの共有ができず、またするつもりもないが、会員に対して自らの名前でメールを送信することは可能だからです。

「いいね!」 5

ご要望の内容と、@nathank さんの機能リクエストは、非常に密接に関連していると思います。

現在、グローバルな招待コードは 1 つのみ存在し、有効期限は設定されていません。無効化するには、管理者がコードを 0 に設定するか、変更するだけです。

ここで求められているのは、グローバルな招待システムに統合された、より高度な招待コードの仕組みです。

求められている主な機能は以下の通りです。

  • 新しい招待リンク

    • N 回まで再利用可能
    • (オプションで)ユーザーを自動的にグループに追加
    • M 日後に有効期限切れ

これは、私にはこのダイアログの拡張機能のように感じられます。

もしかしたら、そこにタブを追加するのはどうでしょうか?

[一括招待]

  • メールアドレスの抽出

  • 「招待を送信」ボタンの削除

  • 追加

    このリンクを使って登録できる人数は何人ですか?
    この招待リンクの有効期間をどのくらいに設定しますか?デフォルトは 1 ヶ月です。

これを入力すると、期間限定で機能し、他の招待システムと統合され、ユーザーをグループに追加できる招待リンクが生成されます。

この仕組みが整えば、実は「招待コード」というグローバル機能全体を削除することも可能になります。

「いいね!」 17

その通りです。その案はまさにニーズに完璧に合致します。

また、CSV による一括招待と同様に、ランディングトピックや投稿を含めることも素晴らしいでしょう。これで一貫性も保てます。

「いいね!」 7

現在の世界的な出来事に関連する場合は、この作業を優先することをご支持しますが、最終判断は @sam にお任せします。

「いいね!」 10

いいえ、invite-tokens はメールアドレスを必要としません。その仕組みについては、Generating lots of Invite Tokens をご覧ください。

「いいね!」 8

それを読んだのですが、まだ混乱しています。

これは、ユーザーのメールアドレスが必要であることを強く示唆しているように思えます。あるいは、私が単に鈍感なだけでしょうか?

「いいね!」 4

一括招待トークンに関する私の理解では、招待ごとに1つのトークンが発行されます。これは、ここであなたが望んでいることとは大きく異なります。

@techAPJ とこの件について話し合います。新しいフォーラムへの参加者を効率的にオンボーディングすることは、現在非常に重要かつ関連性の高い課題だと感じています。この機能の改善を優先して進めていきます。

「いいね!」 9

招待を受け入れる際にメールアドレスの入力は必須ですが、招待トークンの生成時には不要です。

この URL をエンドユーザーに提供し、EMAIL を自分のメールアドレスに置き換えるよう依頼してください:http://discourse.example.com/invite-token/redeem/TOKEN?email=EMAIL

これで混乱が解消されることを願っています。

「いいね!」 7

@sam さん、投稿 31 で提案された招待コードの機能を拡張するソリューションを大変気に入っています。

「いいね!」 5

私もぜひ実装してほしいと思います。

招待ユーザー権限を持つ人が誰でも、一般的な招待リンクを生成できるようにし、そのリンクでユーザーが参加し、招待者の招待ユーザーリストに追加されるようにしたいですね。

グループへの招待や、時間/人数制限付きの招待もあれば嬉しいですが、私にとっては優先度は高くありません。

「いいね!」 3

これを実行すると「おっと!そのページは存在しないか、非公開です」というエラーが表示されます。

amazing.forum.com/signup を開くと登録モーダルが表示されますが、amazing.forum.com/signup?code=fantastic ではその値がモーダルに渡されていないようです(invite_code=fantastic も試しました)。

また、これが機能するようになったら、OP に追加していただけると嬉しいです。

「いいね!」 2