の検索結果 :

×

会員登録 お問い合わせ

現代のDrupalアプリケーションは、集中認証のためにOAuth 2.0アイデンティティプロバイダーを利用することがよくあります。このアプローチは認証を強化する一方で、Drupal内部でのユーザーセッション管理にギャップが生じる可能性があります。

認証はアイデンティティプロバイダーに委任できますが、セッションの強制は Drupal 内に残り、トークンの有効期間とセッションの有効期間が分離されます。

このソリューションは、Drupal内でネイティブに動作する一定レベルのカスタマイズ性を導入します。その結果、一貫したアクセス制御、セキュリティリスクの低減、そしてOAuth認証ポリシーを正確に反映したセッション動作が実現します。

このセクションでは、要件と実装プロセスから結果まですべてについて説明します。

ユースケースカードのロゴ

OAuth クライアントモジュール

モジュールをダウンロード

Drupalサイトが認証にOAuthを使用する場合、アクセスの決定はOAuthトークンの有効性に基づいて行われることが期待されます。理論上は、トークンの有効期限が切れるとアクセスは直ちに終了するはずですが、実際には必ずしもそうとは限りません。

Drupalセッションは、関連付けられたOAuthトークンの有効期限が切れた後も継続されることがよくあります。セッション管理とトークン検証は別々に動作するため、トークンが無効になったときにアクティブなDrupalセッションを自動的に終了する組み込みメカニズムは存在しません。

  • この断絶はアクセス制御に重大な欠陥を生み出します。ユーザーは、意図された認可期間を超えてアクセスを維持する可能性があります。トークンの有効期限が切れても、セッションのシャットダウンが確実に実行されるわけではありません。セッションの有効期間がトークンの有効期間と厳密に一致することを保証する、集中的な強制ポイントは存在しません。
  • これにより、管理者は次のことが可能になります。
    • Drupal のセッション有効期間を OAuth トークンの有効期限と同期します。
    • 使用するIDプロバイダーから正確なトークン有効期限パラメータを選択します
    • トークンの有効期限が切れたときにDrupalで何が起こるかを正確に決定する
  • この設定により、Drupal は認証とセッション管理を個別に処理しなくなり、本来の動作どおりに連携して動作するようになります。

ログインすると、OAuth IDプロバイダーは有効期限付きのアクセストークンを渡します。モジュールはトークンからその有効期限を取得し、それを使用してDrupalセッションの継続時間を設定します。

  • 同期をオンにすると、次のことが起こります。
    • Drupal はセッションの長さを OAuth トークンの有効期間と一致させます。
    • ログインしている間、トークンがまだ有効かどうかを継続的にチェックします。
    • トークンの有効期限が切れると、Drupal は設定したアクションを実行します。
  • 管理者には、いくつかのオプションがあります。
    • トークンの有効期限が切れたらすぐにユーザーを退出させることもできます。
    • あるいは、自動化を試して、Drupal にリフレッシュトークンを使ってトークンの更新を試みさせることもできます。免責事項 - これはご利用の ID プロバイダーによって異なります。
  • これらはすべて自動的に実行されます。追加のコードや外部スケジューラーは必要ありません。Drupal がすべてを処理します。
  • OAuth トークンの有効性と Drupal セッション間の同期。
  • 古くなった、または管理されていないユーザー セッションを排除します。
  • アクセス制御の一貫性が向上しました。
  • 期限切れのトークンによるセキュリティ リスクが軽減されます。

トークンの有効期限同期によるセッションハンドリングにより、DrupalはOAuthトークンの有効性に基づいてアクセス制御(特にアクセスの取り消し)を実施できます。OAuthトークンの本来の目的は、ユーザーが何かにアクセスできるようにするために、常に何かを所持していることです。トークンの有効期限が切れたら、アクセスも取り消されるのは当然のことです。

できるだけ早くご連絡いたします

モ形

 ご返答ありがとうございます。 すぐにご連絡させていただきます。

何か問題が発生しました。 もう一度質問を送信してください

目次

こんにちは!

助けが必要? 私たちはここにいます!

対応