Help > Forum > ウェブサイトの統合 > シングルサインオン-トークンベース認証
シングルサインオン-トークンベース認証
ワードプレスを使用している場合は、当社のWordPressプラグインを使用してください。
私たちはあなたのためにそれを行うことができます-シングルサインオン設定に移動し、あなたのウェブサイトビルダーを選択して、開発チームにSSOを統合してもらいます。
また、SAML、OAuth2、LDAP、SQL、および OpenID を使用したシングルサインオンもサポートしています。
シングルサインオン (SSO) API を使用して、訪問者をフォーラムに自動的にログインさせることができます。これは、ウェブサイトに別のログインエリアがあり、訪問者に 2 回ログインさせたくない場合に便利です。
SSO API を使用すると、API リクエストを作成してユーザーのログイントークンを取得し、それをフォーラムアドレスに含めてユーザーをログインさせることができます。
SSO API を御社の Web サイトに統合するには、以下の手順に従ってください。
-
ログイントークンをリクエストする
Webサイトのログインスクリプトで、 HTTP リクエスト SSO API ログイン URL に移動します。https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USERAPIKEY は、ステップ 1 で取得した API キーに置き換えます。USER は、ログインするフォーラムユーザのユーザ名に置き換えます。ウェブサイトがユーザー名を使用していない場合は、ユーザー名として電子メールアドレスを使用できます。また、ユーザのフォーラムユーザ ID がデータベースに格納されている場合は、&user= USER パラメータの代わりに &userid= USERID パラメータを使用できます。
指定したフォーラムアカウントが存在しない場合にフォーラムアカウントを自動的に作成する場合は、オプションで &email=Email パラメータを含めることができます。email パラメータを含めることをお勧めします。EMAIL はユーザーの電子メールアドレスに置き換えてください。)
必要に応じて、ユーザーのフルネーム (「name」パラメーター)、avatar (「avatar」パラメーター) など、他のアカウント情報を指定することもできます。追加パラメータは URL エンコードする必要があります。
PHP を使用している場合は、PHP SSO ライブラリの使用を強くお勧めします。このファイルには、必要なすべてのライブラリコードを含む 1 つのファイルと、使用例を示すその他のファイルが含まれています。
-
レスポンスからトークンを取得する
HTTP リクエストから返された JSON を解析して認証トークンとユーザ ID を取得し、Cookie またはデータベースに保存します。認証トークンは、高いレベルのセキュリティを確保するため、6 か月後または使用後すぐに有効期限が切れます。JSON レスポンスは次のようになります。{ "authtoken": "88SngRVArwrsZ053lfrqL", "userid": 424764 }
エラーが発生すると、通常の JSON レスポンスではなく、以下の JSON のような JSON が表示されます。
{ "message": "The error message will be here." }
-
トークンを使用してユーザーをログインします。
Web サイトのフォーラムのリンクに認証トークンを渡します。たとえば、次のようになります。<a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>AUTHTOKEN は、前のステップで取得した認証トークンに置き換えます。REMEMBER は、ブラウザーを閉じた後もユーザーをログインしたままにする場合は 1 に置き換え、ブラウザーセッションの終了時にユーザーをログアウトさせたい場合は除外します。
埋め込みコードを使用している場合は、フォーラムが埋め込まれているページ、または埋め込みコードの src 属性内に認証トークンを渡すことができます。たとえば、次のようになります。
<!--Begin Website Toolbox Forum Embed Code-->
<div id="wtEmbedCode"><script type="text/javascript" id="embedded_forum" src="https://FORUM_DOMAIN/js/mb/embed.js?authtoken=AUTHTOKEN&remember=REMEMBER"></script> <noscript><a href="https://FORUM_DOMAIN">Forum</a></noscript></div>
<!--End Website Toolbox Forum Embed Code-->また、フォーラムアドレスで認証トークンを渡したくない場合は、「ログイン成功」ランディングページに次の HTML IMG タグを追加できます。
<img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">サードパーティ Cookie が Safari ブラウザでブロックされるため、フォーラムがサブドメインを使用するように設定されていない限り、IMG タグアプローチは Safari では機能しません。
-
トークンを使用してユーザーをログアウトする
ユーザーが Web サイトからログアウトしたら、次のアドレスにリダイレクトして、フォーラムからもログアウトします。
https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URLREDIRECT_URL は、ユーザーがフォーラムからログアウトした後に送信する URL エンコードされた Web サイトアドレスに置き換えます。AUTHTOKEN は、前のステップで取得した認証トークンに置き換えます。ログアウトの目的で使用した場合、ユーザーのログインにすでに使用されていたとしても、トークンは6か月間有効です。このトークンを使用してユーザーをログアウトすると、トークンはただちに期限切れになります。
また、ユーザーをリダイレクトしたくない場合は、ウェブサイトの「ログアウト成功」ランディングページに次の HTML IMG タグを追加できます。
<img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">サードパーティ Cookie が Safari ブラウザでブロックされるため、フォーラムがサブドメインを使用するように設定されていない限り、IMG タグアプローチは Safari では機能しません。
-
Webサイトのログインページをフォーラムで使用させる
Website Toolbox アカウントの [設定]-> [シングルサインオン] セクションで、Web サイトのログインページのアドレスを指定して、すべてのフォーラムログインが Web サイトのログインフォームを使用して行われるようにします。
-
Webサイトのログアウトページをフォーラムで使用させる
オプションで、Website Toolbox アカウントの「設定」->「シングルサインオン」セクションで、Web サイトのログアウトページのアドレスを指定して、Web サイトのログアウトページが表示されるようにします。フォーラムからログアウトしました。
カスタムドメインと埋め込みコード、API、Webhookを使用して、さらに詳細な設定を行う統合。
If you still need help, please contact us.