Drupalサイト向けのシングルサインオン
このページでは、DrupalベースのウェブサイトにSuperSaaSのスケジュールを統合し、ユーザーがあなたのウェブサイトとその中にあるSuperSaaSのスケジュールの両方へ1回のサインインでアクセスできるようにする方法を説明します。 これを利用するには、まず(無料の)SuperSaaSアカウントに登録する必要があります。
- SuperSaaSのスケジュールでDrupalのログインを使う
- Drupalにモジュールをインストールして設定する
- SuperSaaSの設定を変更する
- ページに予約ボタンを追加する
- トラブルシューティングのヒント
SuperSaaSのスケジュールでDrupalのログイン名を使う
SuperSaaSのDrupalモジュールは、「今すぐ予約」ボタンを表示し、Drupalのユーザー名を使ってユーザーを自動的にSuperSaaSのスケジュールへログインさせます。 Drupalのユーザー登録システムを使用していない場合は、代わりにウェブサイトでスケジュールを統合するための一般的な手順に従ってください。
モジュールによって生成されるボタンは、Drupalのユーザーデータベース情報をSuperSaaSに渡し、必要に応じてSuperSaaSのデータベースにユーザーを作成したり、情報を更新したりします。 これにより、ユーザーが予約システム用に別のログインを作成する必要がなくなり、2回ログインする手間も省けます。
Drupalでのモジュールのインストールと設定
Drupalでモジュールを設定するには、次の手順に従ってください:
-
モジュールをインストールします (Drupal 10.2 & 11)。 プロジェクトページのSuperSaaS Drupal moduleで、「Releases」下のインストール手順に従ってください。 次に、Extendページでモジュール名の横のチェックボックスをオンにして有効化し、をクリックします。
その後、Manage>Configurationに移動し、SuperSaaS Settingsをクリックします。 設定に応じて各項目を入力または削除し、「Enable HTTPS」をオン/オフにします。
Drupalの管理メニューでManage>Structureをクリックし、続いてBlock layoutをクリックします。 SuperSaaSモジュールを配置するブロック要素の後で、Place Blockをクリックします。 「SuperSaaS login」ブロックを見つけ、その横のPlace Blockボタンをクリックします。 「Configure block」では、タイトルを編集したり、表示タイトルを無効にしたり、さまざまな設定を調整できます。
古いDrupalバージョンとの互換性が必要な場合は、GitHub releasesページからリリースをダウンロードしてください。 -
モジュールを設定します。SuperSaaS Settings画面で次の項目を入力します:
- SuperSaaS account name – アカウント名です(メールアドレスではありません)
- SuperSaaS API key – SuperSaaSアカウントのAPIキーは、Account Infoページの下部で確認できます。
- Schedule name – スケジュール名を入力するか、特定のパラメータを追加してユーザーを特定の表示に誘導したい場合は完全なURLを指定できます。複数のスケジュールを使用している場合は、以下を参照してください。
- Button Label – ボタンのラベルです。既定値は今すぐ予約、または対応言語での同等の表記です。ボタンに背景画像がある場合、これは代替テキスト値になります。
- Button image – 背景画像のURLです。既定値はありません。そのため、これが設定されていない場合、ボタンに背景画像は表示されません。例:
- Custom Domain Name – スケジュールを指すためにカスタムドメイン名を作成している場合は、ここに入力してユーザーが正しい場所へ移動するようにできます。
- Enable HTTPS – SuperSaaSのスケジュールで「SSL/TLSで接続を暗号化」を有効にしている場合は、このオプションをオンにします。

Drupalで動作させるためのSuperSaaSアカウント設定の変更
Drupalのユーザーデータベースが一次ソースとなるため、Drupalサイトでユーザー情報を変更するとSuperSaaSにも反映されますが、その逆は行われません。 そのため、SuperSaaS側でユーザーが自分の情報を変更できないようにすることをおすすめします。そうしないと、ユーザーが混乱しやすくなります。 たとえば、SuperSaaSでパスワードの変更を許可すると、Drupalのパスワードは変わっていないことに気づかない可能性があります。
不整合を避けるため、SuperSaaSアカウントで次の変更を行ってください:
- アクセスコントロールページで、を選択します
- アクセスコントロールページで、を選択します
- レイアウト設定ページで、Your URLの欄に、ユーザーがログインできるあなたのサイト上のページURLを入力します
さらに、DrupalのデータベースフィールドがSuperSaaSのユーザーデータベースの内容と一致していることを確認する必要があります。アクセスコントロールページで次の変更を行ってください:
- の選択を解除します
- 表示されるEmail addressのラジオボタンをオプション(または必須)に切り替えます
- 他のすべての項目を尋ねないに切り替えます(を選択している場合は、Passwordフィールドもオフにできます)
これで、サイト上のボタンを試せるようになります。 管理者としては、引き続きメインのSuperSaaSログインページからログインする必要があるため、通常ユーザーになったつもりで試してください。 SuperSaaSでsuperusersを定義する場合は、ユーザーマネジメントページで役割を変更する前に、必ずそのユーザーが少なくとも1回はボタンを使ってログインしていることを確認してください。

SuperSaaSの設定
この画像は、上記の設定を適用した後のSuperSaaSアカウントのアクセスコントロールページを示しています。ページにボタンを追加する
メインメニューでManage>Structure(Drupal 10.2または11)に移動し、Block layoutを選択します。 次に、ページ内の適切な場所でPlace blockをクリックします。 configureをクリックすると、タイトルや、ボタンを表示するページをさらにカスタマイズできます。


トラブルシューティングとヒント
- このボタンは、Drupalサイトにログインしているユーザーにのみ表示されることに注意してください。
- 「メールアドレスが有効なメールアドレスではありません」というエラーが表示される場合は、SuperSaaSアカウントで正しい設定が行われているかを確認するために、前の段落をもう一度お読みください。
- ボタンがユーザーをリダイレクトするが、実際にログインしていないように見える場合、そしてフィールド「Schedule name or URL」にURLを使用している場合は、そのURLのドメインが「Custom Domain Name」フィールドに入力されていることを確認してください。