OAuth 2認証

提供:MoodleDocs
2023年12月3日 (日) 09:29時点におけるMitsuhiro Yoshida (トーク | 投稿記録)による版
移動先:案内検索


概要 Overview

OAuth 2.0はユーザ認証のための事実上標準プロトコルです。ユーザはOAuth 2認証でGoogle、Microsoft、FacebookおよびLinkedIn等の一般的なサービスプロバイダからの認証情報を使用してログインページのボタンからMoodleにアクセスできます。

OAuth Login.png

以下のハイレベルな対話プロセスではOAuth 2認証がMoodleコンテクストでどのように動作するか示しています:

OAuth - Service Provider Authentication.png

OAuthサービスプロバイダはクライアント (Moodle) にOAuthアクセストークンを発行することで認証サーバを経由してIDおよび (リソースサーバ経由) APIアクセスを提供するための「クラウド内」の 外部システムです。それでは詳しい相互作用を見ていきましょう:

  1. ユーザが認証リクエストを送信します。つまり、ユーザはクライアント経由でサービスプロバイダにログインします。このステップはMoodleログイン画面のサービスプロバイダボタンから開始されます。
  2. 入力された認証情報が有効である場合、認証サーバは認証コードを発行します。アカウント作成が有効である場合 (認証時にアカウント作成を防止する設定)、新しいアカウントが作成されます。そうでない場合、ユーザは同じメールアドレスを持つ既存のアカウントに認証をリンクするよう促されます。エントリはユーザプレファレンスの連携ログインセクションにあります。
  3. 保存された認証コードを使用してユーザがログインした時点でアクセストークンが発行されます。定期的にOAuth 2トークンを更新するスケジュールタスクが存在します (\core\oauth2\refresh_ system_tokens_task)。
  4. Moodleはこのアクセストークンをサービスプロバイダのリソース (例えばリポジトリのファイルへのリンク) を必要とする内部サービスに使用します。いくつかの内部サービスでは接続するためにシステムアカウントを必要とします。

OAuth 2認証をセットアップする

OAuth 2認証を使用する場合、管理者は以下の手順に従ってください:

  1. OAuth 2サービスを設定する: サイト管理 > サーバ > OAuth 2サービスに移動して、 OAuth 2サービスページのインストラクションに従ってください。
  2. OAuth 2を有効にする: サイト管理 > プラグイン > 認証に移動してOAuth 2を有効にしてください。
  3. OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには設定リンクをクリックしてユーザフィールドのロックで設定してください。
  4. アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。アカウントの作成を防止したい場合、サイト管理 > プラグイン > 認証に移動して、設定「authpreventaccountcreation」を有効にしてください。
  5. テスト、テスト、テスト: OAuth 2の設定が機能していることを確認するにはサイト管理 > プラグイン > 認証に移動してOAuth 2'行のテスト設定リンクをクリックしてください。ここであなたはサービスを選択して接続をテストできます。

OAuth 2認証は以下のMoodle機能でサポートされます:

関連情報 See also