Help > Forum > ウェブサイトの統合 > シングルサインオン-トークンベース認証

シングルサインオン-トークンベース認証

ワードプレスを使用している場合は、当社のWordPressプラグインを使用してください

私たちはあなたのためにそれを行うことができます-シングルサインオン設定に移動し、あなたのウェブサイトビルダーを選択して、開発チームにSSOを統合してもらいます。

また、SAMLOAuth2、LDAP、SQL、および OpenID を使用したシングルサインオンもサポートしています。

シングルサインオン (SSO) API を使用して、訪問者をフォーラムに自動的にログインさせることができます。これは、ウェブサイトに別のログインエリアがあり、訪問者に 2 回ログインさせたくない場合に便利です。

SSO API を使用すると、API リクエストを作成してユーザーのログイントークンを取得し、それをフォーラムアドレスに含めてユーザーをログインさせることができます。

SSO API を御社の Web サイトに統合するには、以下の手順に従ってください。

  1. API キーを取得する

  2. ログイントークンをリクエストする

    Webサイトのログインスクリプトで、 HTTP リクエスト SSO API ログイン URL に移動します。

    https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER

    APIKEY は、ステップ 1 で取得した API キーに置き換えます。

    USER は、ログインするフォーラムユーザのユーザ名に置き換えます。ウェブサイトがユーザー名を使用していない場合は、ユーザー名として電子メールアドレスを使用できますまた、ユーザのフォーラムユーザ ID がデータベースに格納されている場合は、&user= USER パラメータの代わりに &userid= USERID パラメータを使用できます。

    指定したフォーラムアカウントが存在しない場合にフォーラムアカウントを自動的に作成する場合は、オプションで &email=Email パラメータを含めることができます。email パラメータを含めることをお勧めします。EMAIL はユーザーの電子メールアドレスに置き換えてください。)

    必要に応じて、ユーザーのフルネーム (「name」パラメーター)、avatar (「avatar」パラメーター) など、他のアカウント情報を指定することもできます。追加パラメータは URL エンコードする必要があります。

    PHP を使用している場合は、PHP SSO ライブラリの使用を強くお勧めします。このファイルには、必要なすべてのライブラリコードを含む 1 つのファイルと、使用例を示すその他のファイルが含まれています。

  3. レスポンスからトークンを取得する

    HTTP リクエストから返された JSON を解析して認証トークンとユーザ ID を取得し、Cookie またはデータベースに保存します。認証トークンは、高いレベルのセキュリティを確保するため、6 か月後または使用後すぐに有効期限が切れます。JSON レスポンスは次のようになります。

    {
      "authtoken": "88SngRVArwrsZ053lfrqL",
      "userid": 424764
    }
    

    エラーが発生すると、通常の JSON レスポンスではなく、以下の JSON のような JSON が表示されます。

    {
       "message": "The error message will be here."
    }
    
  4. トークンを使用してユーザーをログインします。

    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 では機能しません。

  5. トークンを使用してユーザーをログアウトする

    ユーザーが Web サイトからログアウトしたら、次のアドレスにリダイレクトして、フォーラムからもログアウトします。

    https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URL

    REDIRECT_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 では機能しません。

  6. Webサイトのログインページをフォーラムで使用させる

    Website Toolbox アカウントの [設定]-> [シングルサインオン] セクションで、Web サイトのログインページのアドレスを指定して、すべてのフォーラムログインが Web サイトのログインフォームを使用して行われるようにします。

  7. Webサイトのログアウトページをフォーラムで使用させる

    オプションで、Website Toolbox アカウントの「設定」->「シングルサインオン」セクションで、Web サイトのログアウトページのアドレスを指定して、Web サイトのログアウトページが表示されるようにします。フォーラムからログアウトしました。

カスタムドメインと埋め込みコードAPIWebhookを使用して、さらに詳細な設定を行う統合。


If you still need help, please contact us.