シングルサインオン (SSO) API を使用して、訪問者をチャットルームに自動的にログインさせることができます。これは、ウェブサイトに別のログインエリアがあり、訪問者に2回ログインさせたくない場合に役立ちます。
SSO API を使用すると、アプリケーション内から HTTP リクエストを送信して、チャットルームにユーザーをログインさせたり、チャットルームからログアウトしたりできます。トークンは API によって返され、次のページの小さな IMG タグで使用され、必要なブラウザ Cookie が保存されます。
PHP を使用している場合は、次の PHP を使用することを強くお勧めします。 SSO ライブラリ。これには、必要なすべてのライブラリコードを含む1つのファイルと、使用例を含む他のファイルが含まれています。
ウェブサイトにWordPressを使用している場合は、 ワードプレスプラグイン これにより、ログインとサインアップのプロセスが自動的に統合されます。
SSO API をウェブサイトに統合するには、以下の手順に従ってください。
- API キーを取得
- アクセストークンの生成をリクエストする
- 応答を解析してアクセストークンを取得する
- チャットルームへのログインリクエスト
- チャットルームからログアウトする
- URL 設定
- チャットルームにユーザーを登録する
- ユーザーを削除する
- ユーザー詳細の編集
- 重要な注意事項
API キーを取得
API キーは API 呼び出しのパラメータとして渡され、チャットルーム API の権限のあるユーザーであることを確認します。API キーはアカウントのパスワードのようなもので、非公開かつ安全に保管する必要があります。
Website Toolbox チャットルーム API キーは、以下の手順で取得できます。
- Website Toolbox アカウントにログインします。
- [設定] リンクをクリックします。
- API キーオプションの横に表示されている API キーをコピーします。
アクセストークンの生成をリクエストする
Web サイトのログインスクリプトで、SSO API ログイン URL に HTTP リクエストを行います。
http://CLIENT.discussionchatroom.com/sso/token/generate?apikey=APIKEY&username=USERNAME&email=EMAIL&avatarUrl=AVATARURL&password=PASSWORD
APIKEY をシークレット API キーに置き換えてください。
USERNAME は、ログインするユーザーのユーザー名に置き換えます。
EMAIL は、ログインするユーザーの電子メール ID に置き換えてください。
AVATARURL をユーザーのプロフィール写真の URL に置き換えます。これはオプションです。それ以外の場合、ユーザーはいつでもチャットルーム自体でアバターを設定できます。
PASSWORD は、ログインするユーザーの暗号化されていないパスワードに置き換えます。
ユーザー名とパスワードはオプションのパラメーターで、アカウントがまだ存在しないために作成する必要がある場合にのみ使用されます。パスワードなしでアカウントを作成した場合、ログインページでパスワードをリセットしない限り、ユーザーはチャットルームに直接ログインできません。SSOログインは、ユーザーのアカウントにパスワードがなくてもスムーズに機能します。
応答を解析してアクセストークンを取得する
に送信されたリクエストの JSON 応答を解析する アクセストークンを生成 認証トークン、つまり「access_token」を取得します。JSON レスポンスは次のようになります。
{
「成功」:本当、
「message」:「これは成功または失敗のメッセージです。「、
「アクセストークン」:「88sngrlfrQL」
}
成功-リクエストのステータスに対応します。認証トークンが正常に生成された場合は true です。それ以外の場合は false です。
メッセージ-レスポンスで共有されるメッセージです。エラーレスポンスにはより便利です。
access_token-認証が成功した後にユーザー用に生成されるアクセストークンです。セキュリティを確保するため、このトークンは60分で期限切れになります。
チャットルームへのログインリクエスト
ウェブサイトの「ログイン成功」ランディングページに次の HTML IMG タグを追加します。
ACCESS_TOKENを、ステップで取得したアクセストークンに置き換えます 応答を解析してアクセストークンを取得する>。。
REMEMBERME の値を 0 または 1 に置き換えてください。ブラウザを閉じた後でもユーザーのログイン情報をブラウザに記憶させるには、REMEMBERME を 1 に置き換えます。それ以外の場合は 0 に置き換えて、ブラウザを閉じた後にログイン情報を消去します。
IMGタグをロードするブラウザウィンドウは、リクエストを行ったときに入力されたユーザー名を持つユーザーとしてチャットルームにログインします アクセストークンを生成。
Safariブラウザには、ユーザーが選択した(「ナビゲートされた」)ページのみにクッキーの書き込みを制限する保守的なクッキーポリシーが付属しています。これにより、フォーラムのログインクッキーが「ログイン成功」ランディングページに設定されるのを防ぎます。したがって、Safariブラウザでシングルサインオンを機能させる唯一の方法は、Webサイトのチャットルームのリンクでも認証トークンを渡すことです。例えば:
チャットルームからログアウトする
ユーザーがチャットルームからログアウトしたい場合や、ユーザーがウェブサイトからログアウトしたい場合は、「ログアウト成功」ランディングページに次の HTML IMG タグを追加します。
ACCESS_TOKENを、ステップで取得したアクセストークンに置き換えます 応答を解析してアクセストークンを取得する。
ログイン時に返された認証トークンがない場合は、次のアドレスにリクエストを送信して取得または再生成できます (有効期限が切れている場合)。 アクセストークンを生成 アピ。
URL 設定
ウェブサイトの URL は、以下の手順で設定できます。
- Website Toolbox アカウントにログインします。
- [設定] リンクをクリックします。
- 「シングルサインオン」セクションで、次のページのWebサイトのURLを指定します。
- ログインページ:Webサイトのログインページのアドレスを指定して、すべてのチャットルームログインがWebサイトのログインフォームを使用して行われるようにします。
- ログアウトページ:Webサイトのログアウトページのアドレスを指定して、ユーザーがチャットルームからログアウトした後にWebサイトのログアウトページが表示されるようにします。
- 登録ページ:チャットルームのログインページにある「アカウントの作成」リンクをクリックしたときに、ユーザーがウェブサイトの登録ページが表示されるように、ウェブサイトの登録ページのアドレスを指定します。
チャットルームにユーザーを登録する
チャットルームにユーザーを登録するには、SSO API ユーザーサインアップ URL に HTTP リクエストを送信します。
http://CLIENT.discussionchatroom.com/sso/user/register?apikey=APIKEY&username=USERNAME&email=EMAIL&password=PASSWORD&avatarUrl=AVATARURL
APIKEY をシークレット API キーに置き換えてください。
USERNAME は、登録するユーザーのユーザー名に置き換えてください。
EMAIL は、登録するユーザーの電子メール ID に置き換えてください。
PASSWORD を、登録するユーザーの暗号化されていないパスワードに置き換えます。これはオプションのパラメータです。パスワードなしでアカウントを作成した場合、ログインページでパスワードをリセットしない限り、ユーザーはチャットルームに直接ログインできません。SSOログインは、ユーザーのアカウントにパスワードがなくてもスムーズに機能します。
AVATARURLを登録ユーザーに置き換えますか?s プロファイル ピクチャの URL。これはオプションです。
サインアップリクエストの送信は任意です。というのも、登録中にアカウントがまだ存在しない場合、自動的にアカウントが作成されるためです シングルサインオンログインリクエスト。
JSON 応答では、ユーザーのログインに使用できるアクセストークンも返されます。の手順に従ってください 応答を解析してアクセスを取得する トークン そして チャットへのログインリクエスト ルーム 新しく登録したユーザーにログインします。
ユーザーを削除する
チャットルームからユーザーを削除するには、SSO API ユーザー削除 URL に HTTP リクエストを送信します。
http://CLIENT.discussionchatroom.com/sso/user/delete?apikey=APIKEY&emails=EMAILS
APIKEY をシークレット API キーに置き換えてください。
EMAILS は、削除するユーザーのメールアドレスに置き換えてください。単一の電子メールアドレスまたはカンマで区切られた複数の電子メールアドレスを保持できます。
ユーザー詳細の編集
チャットルームユーザーの詳細を編集するには、SSO API に HTTP リクエストを送信してユーザー URL を編集します。
http://CLIENT.discussionchatroom.com/sso/user/edit?apikey=APIKEY&user=USER&username=NEWUSERNAME&email=NEWEMAIL&password=NEWPASSWORD&avatarUrl=NEWAVATARURL
APIKEY をシークレット API キーに置き換えてください。
USER をユーザーの現在のメールアドレスに置き換えます。
NEWUSERNAME を、設定する必要のある新しいユーザー名に置き換えます。
NEWEMAIL は、設定が必要な新しいメールアドレスに置き換えてください。
NEWPASSWORD は、設定する必要のある新しいパスワードに置き換えてください。
NEWAVATARURL は、設定する必要のある新しいアバターの URL に置き換えてください。
apikey パラメーターと user パラメーターは必須フィールドです。他のフィールドはオプションです。ユーザー用に値を更新してはいけないパラメーターを URL に追加しないでください。「ユーザー名」と「電子メール」の値は、空白の場合は更新されません。