「OAuth 2認証」の版間の差分
Mitsuhiro Yoshida (トーク | 投稿記録) 編集の要約なし |
Mitsuhiro Yoshida (トーク | 投稿記録) 編集の要約なし |
||
22行目: | 22行目: | ||
# Enable OAuth 2: Go to '''Site administration > Plugins > Authentication''', enable '''OAuth 2'''. | # Enable OAuth 2: Go to '''Site administration > Plugins > Authentication''', enable '''OAuth 2'''. | ||
# OAuth 2を有効にする: '''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''を有効にしてください。 | # OAuth 2を有効にする: '''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''を有効にしてください。 | ||
# OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには'''設定'''リンクをクリックして'''ユーザフィールドのロック'''で設定してください。 | # OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには'''設定'''リンクをクリックして'''ユーザフィールドのロック'''で設定してください。 | ||
# アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。アカウントの作成を防止したい場合、'''サイト管理 > プラグイン > 認証'''に移動して、設定「authpreventaccountcreation」を有効にしてください。 | |||
# アカウント作成を禁止する: | |||
# Testing, testing, testing: To verify that your OAuth 2 configuration is working, go to '''Site administration > Plugins > Authentication''' and click on the '''Test settings''' link in the '''OAuth 2''' row. Here, you can select a service and test its connection. | # Testing, testing, testing: To verify that your OAuth 2 configuration is working, go to '''Site administration > Plugins > Authentication''' and click on the '''Test settings''' link in the '''OAuth 2''' row. Here, you can select a service and test its connection. | ||
OAuth 2 authentication is supported by the following Moodle features: | OAuth 2 authentication is supported by the following Moodle features: |
2023年12月2日 (土) 15:05時点における版
再作成中です - Mitsuhiro Yoshida (トーク)
概要 Overview
OAuth 2.0はユーザ認証のための事実上標準プロトコルです。ユーザはOAuth 2認証でGoogle、Microsoft、FacebookおよびLinkedIn等の一般的なサービスプロバイダからの認証情報を使用してログインページのボタンからMoodleにアクセスできます。
以下のハイレベルな対話プロセスではOAuth 2認証がMoodleコンテクストでどのように動作するか示しています:
OAuthサービスプロバイダはクライアント (Moodle) にOAuthアクセストークンを発行することで認証サーバを経由してIDおよび (リソースサーバ経由) APIアクセスを提供するための「クラウド内」の 外部システムです。それでは詳しい相互作用を見ていきましょう:
- ユーザが認証リクエストを送信します。つまり、ユーザはクライアント経由でサービスプロバイダにログインします。このステップはMoodleログイン画面のサービスプロバイダボタンから開始されます。
- 入力された認証情報が有効である場合、認証サーバは認証コードを発行します。アカウント作成が有効である場合 (認証時にアカウント作成を防止する設定)、新しいアカウントが作成されます。そうでない場合、ユーザは同じメールアドレスを持つ既存のアカウントに認証をリンクするよう促されます。エントリはユーザプレファレンスの連携ログインセクションにあります。
- 保存された認証コードを使用してユーザがログインした時点でアクセストークンが発行されます。定期的にOAuth 2トークンを更新するスケジュールタスクが存在します (\core\oauth2\refresh_ system_tokens_task)。
- Moodleはこのアクセストークンをサービスプロバイダのリソース (例えばリポジトリのファイルへのリンク) を必要とする内部サービスに使用します。いくつかの内部サービスでは接続するためにシステムアカウントを必要とします。
OAuth 2認証をセットアップする Setting up OAuth 2 authentication
OAuth 2認証を使用する場合、管理者は以下の手順に従ってください:
- OAuth 2サービスを設定する: サイト管理 > サーバ > OAuth 2サービスに移動して、 OAuth 2サービスページのインストラクションに従ってください。
- Enable OAuth 2: Go to Site administration > Plugins > Authentication, enable OAuth 2.
- OAuth 2を有効にする: サイト管理 > プラグイン > 認証に移動してOAuth 2を有効にしてください。
- OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには設定リンクをクリックしてユーザフィールドのロックで設定してください。
- アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。アカウントの作成を防止したい場合、サイト管理 > プラグイン > 認証に移動して、設定「authpreventaccountcreation」を有効にしてください。
- Testing, testing, testing: To verify that your OAuth 2 configuration is working, go to Site administration > Plugins > Authentication and click on the Test settings link in the OAuth 2 row. Here, you can select a service and test its connection.
OAuth 2 authentication is supported by the following Moodle features:
- テスト、テスト、テスト: OAuth 2の設定が機能していることを確認するにはサイト管理 > プラグイン > 認証に移動してOAuth 2'行のテスト設定リンクをクリックしてください。ここであなたはサービスを選択して接続をテストできます。
OAuth 2 authentication is supported by the following Moodle features: OAuth 2認証は以下のMoodle機能でサポートされます:
- Repositories: Dropbox repository, Google Drive repository, Microsoft OneDrive repository, and Nextcloud repository
- リポジトリ: Dropboxリポジトリ, Googleドライブリポジトリ, Microsoft OneDriveリポジトリ, Nextcloudリポジトリ
- Portfolios: Google Drive portfolio
- ポートフォリオ: Googleドライブポートフォリオ
- Badges: Open Badges 2.1
- バッジ: オープンバッジ2.1
- Mail: Incoming and outgoing mail configuration
- メール: 受信および送信メール設定
- Document converters: Google Drive converter
- ドキュメントコンバータ: Googleドライブコンバータ
関連情報 See also
別のサイトのアカウントを使用してログイン
OAuth 2認証プラグインを使用すると、ユーザはログインページのボタンからGoogle、Microsoft、Facebookのアカウントを使用してログインできます。
アカウントの作成が有効になっている場合、ユーザが初めてログインすると、新しいアカウントが作成されます。それ以外の場合は、同じメールアドレスで既存のアカウントにリンクするように求められます。
OAuth 2認証を有効にする
OAuth 2認証を使用するには、管理者は最初に必要なOAuth 2サービスを作成する必要があります。
- サイト管理 > サーバの 'OAuth 2サービス' に移動し、ボタンをクリックして新しいサービスを作成します。
- OAuth 2 Googleサービス、OAuth 2 Microsoftサービス、またはOAuth 2 Facebookサービスの指示に従って、クライアントIDと秘密鍵を取得します。
- クライアントIDと秘密鍵を入力し、'ログインページに表示する' がチェックされていることを確認して、変更を保存します。
必要に応じて、'メール確認を必要とする' チェックボックスをオフにすると、確認メールが送信されません。これは、ドメインにGoogleを使用している教育機関に役立ちます。 Google OAuthプロバイダは、そのドメインに対して信頼されていると見なすことができます。
必要に応じて、追加のサービスについて繰り返します。 OAuth 2認証の場合、システムアカウントに接続する必要はありません。
次に:
- サイト管理の '認証管理' に移動し、OAuth 2認証プラグインを有効にします。
- オプション: OAuth 2設定で、選択したユーザデータフィールドをロックし、変更を保存します。
新しいアカウントの作成を防止する
ユーザがOAuth 2サービスでログインするときに新しいアカウントを作成したくない場合:
- サイト管理の '認証管理' に移動し、'ユーザ認証時のアカウント作成を抑制する'(authpreventaccountcreation)ボックスにチェックを入れます。
- '変更を保存する' ボタンをクリックします。
トラブルシューティング
'OAuth 2サービス' ページに、'ログインを許可' の赤い十字があります
ログインを許可するための緑色のチェックマークを取得するには、OAuth 2サービスを編集し、'ログインページに表示する' の設定がチェックされていることを確認します。
OAuth 2認証を有効にした後、コーディングエラーが発生します
サイトにインストールされている以前のバージョンのOAuth 2プラグインはありますか?その場合、標準のOAuth 2認証を使用するには、プラグインのアンインストールが必要です。
Facebookを使用してログインしようとすると、エラーメッセージが表示されます
エラーメッセージ '返されたユーザ情報に、ユーザ名とメールアドレスが含まれていませんでした。 OAuth 2サービスが正しく設定されていない可能性があります。' というメッセージは、ユーザのFacebookアカウントが携帯電話の番号を使って作成されたものである可能性が高いです。
解決策は、ユーザが最初にFacebookにログインし、そこにユーザ名とメールアドレスを追加することです。
OAuth 2サービスにログインした後、"必要なパラメータ(コード)がありませんでした" というエラーが表示されます
'必要なパラメータ(コード)がありませんでした' というエラーメッセージは、ウェブサーバの設定ミスが原因の場合があります。OAuth 2 は url パラメータとして渡される長いトークンに依存しており、ウェブサーバの設定によってはこれが機能しない場合があります。
GoogleとFacebookの/admin/tool/oauth2/issuers.phpページにすべて緑色のチェックマークがありますが、サーバのログインページにボタンが表示されません
(おそらくセキュリティ上の理由から)Moodle 3.4の新規インストールでは、OAuth 2のプラグイン設定が無効な状態になっています。サイト管理 > プラグイン > 認証 > 認証管理(/admin/settings.php?section=manageauths)のページに移動し、OAuth 2のレコードを有効にしてください。レコードの設定を微調整することもできます。