Web サイトにメンバーシップ、プログラム、または製品がある場合は、各メンバーがどのフォーラムユーザーグループに属するかを決定できます。Web サイトがルールを設定してグループ ID をフォーラムに渡すため、メンバーのフォーラムへのアクセスは常に Web サイトのメンバーシップと一致します。
その仕組み
- どのグループを割り当てるか。ウェブサイトはメンバーごとに適切なグループを作成し、フォーラムに渡します。
- シングルサインオンを開始するかどうか。メンバーの製品またはプログラムの有効期限が切れている場合、Web サイトはそのメンバーをフォーラムにログインさせないだけです。
フォーラムがお客様の会員記録そのものを読み取ることはありません。すべてはウェブサイトによって運営されています。
始める前に
- API キーを入手してください。この記事のすべてのリクエストで必要になります。
- プログラムごとに 1 つのグループなど、割り当てたい各ユーザーグループの ID を取得します。
アカウント作成時にグループを割り当てる
UserGroups パラメータをシングルサインオンログインリクエストに含めてください。アカウントがまだ存在しない場合は、それらのグループを使用して作成されます。
複数の ID はカンマで区切ります。これらのグループは、アカウントが初めて作成されるときに適用されます。後でグループを変更するには、次のセクションの API リクエストを使用してください。
メンバーシップが変更されたらグループを更新する
メンバーが Web サイト上のプログラムを購入、アップグレード、または紛失した場合は、Web サイト Toolbox API を使用してフォーラムグループを更新してください。これらのリクエストはサーバーから実行されるため、変更が発生した瞬間に対応できます。メンバーはログインする必要はありません。
1 回のリクエストでメンバーの全グループを更新できます。
1 人のメンバーを 2 つのグループに追加したり、1 つのグループから削除したりするなど、複数の変更を一度に行うには、所属すべきすべてのグループを含むメンバーのエンドポイントに 1 つのリクエストを送信します。送信するグループは、メンバーの現在のグループと置き換えられるため、メンバーに残してほしいグループをすべて含めてください。
メンバーの現在のグループを置き換える前に確認するには、同じアドレスに GET リクエストを送信します。
レスポンスにはメンバーの現在のユーザーグループが含まれます。
グループを 1 つ追加または削除します。
グループを 1 つだけ許可または取り消す必要がある場合は、代わりにグループのエンドポイントを使用すれば、全リストを送信する必要がなくなります。
USER_ID はメンバーのフォーラムユーザー ID で、アカウントの作成時にログインリクエストによって返されます。ユーザー ID の代わりにユーザー名または電子メールアドレスを渡すことができます。フォーラムアカウントをまだ持っていないユーザーのメールアドレスは、代わりにグループへの招待状を送信します。
誰がアクセスできるかを決める
シングルサインオンを開始する前に、ウェブサイトがメンバーのメンバーシップを確認します。まだアクセスできる場合は、「シングルサインオン-トークンベースの認証」で説明されているように、トークンを使用してログインします。製品の有効期限が切れている場合は、シングルサインオンを開始しないでください。そうするとフォーラムにログインできなくなります。
よく寄せられる質問
メンバーのグループを更新すべきか、グループのエンドポイントを使うべきか?
複数のグループを一度に変更する場合は、グループの全リストをメンバーのエンドポイントに送信してください。1 つのグループのみを追加または削除する場合は、グループのエンドポイントを使用してください。
メンバーのユーザーグループはいつ更新すればよいですか?
購入、アップグレード、有効期限など、ウェブサイト上でメンバーのメンバーシップが変更されるたびに、グループを更新してください。メンバーが次回ログインするまで待つ必要はありません。
グループが更新されるには、メンバーがログインしている必要がありますか?
いいえ。更新はサーバーからの API リクエストなので、メンバーがログインしていても、フォーラムにアクセスしていてもかまいません。
curl とは何ですか?
curl は、macOS、Linux、および最近のバージョンの Windows に含まれている HTTP リクエストを送信するためのコマンドラインツールです。そのため、この記事の例を curl コマンドとして記述しています。標準の HTTP ツールを使えば、どのプログラミング言語からでもまったく同じリクエストを、すべての言語で同じパラメータで送信できます。いくつかの言語の例については、「HTTP リクエストを行うためのサンプルコード」を参照してください。
API リクエストが失敗するのはなぜですか?
API キーがフォーラムの API キーと一致していること、グループ ID とユーザー ID が正しいこと、およびメンバーが既にフォーラムアカウントを持っていることを確認してください。