「OAuth 2認証」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
 
(同じ利用者による、間の7版が非表示)
1行目: 1行目:
{{認証}}
{{認証}}
再作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] ([[利用者・トーク:Mitsuhiro Yoshida|トーク]])


== 概要 Overview ==
== 概要 Overview ==
7行目: 5行目:


[[File:OAuth Login.png|border|center|frameless|600x600px]]
[[File:OAuth Login.png|border|center|frameless|600x600px]]
The following high-level interaction process illustrates how OAuth 2 authentication works in a Moodle context:
以下のハイレベルな対話プロセスではOAuth 2認証がMoodleコンテクストでどのように動作するか示しています:  
以下のハイレベルな対話プロセスではOAuth 2認証がMoodleコンテクストでどのように動作するか示しています:  
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]


OAuthサービスプロバイダはクライアント (Moodle) にOAuthアクセストークンを発行することで認証サーバを経由してIDおよび (リソースサーバ経由) APIアクセスを提供するための「クラウド内」の  外部システムです。それでは詳しい相互作用を見ていきましょう:
OAuthサービスプロバイダはクライアント (Moodle) にOAuthアクセストークンを発行することで認証サーバを経由してIDおよび (リソースサーバ経由) APIアクセスを提供するための「クラウド内」の  外部システムです。それでは詳しい相互作用を見ていきましょう:
# A user sends an authorisation request; that is, a user logs in to the service provider via the client. This step is initiated via the service provider buttons on the Moodle login screen.
# ユーザが認証リクエストを送信します。つまり、ユーザはクライアント経由でサービスプロバイダにログインします。このステップはMoodleログイン画面のサービスプロバイダボタンから開始されます。
# ユーザが認証リクエストを送信します。つまり、ユーザはクライアント経由でサービスプロバイダにログインします。このステップはMoodleログイン画面のサービスプロバイダボタンから開始されます。
# 入力された認証情報が有効である場合、認証サーバは認証コードを発行します。アカウント作成が有効である場合 (認証時にアカウント作成を防止する設定)、新しいアカウントが作成されます。そうでない場合、ユーザは同じメールアドレスを持つ既存のアカウントに認証をリンクするよう促されます。エントリはユーザプレファレンスの[[連携ログイン]]セクションにあります。
# 入力された認証情報が有効である場合、認証サーバは認証コードを発行します。アカウント作成が有効である場合 (認証時にアカウント作成を防止する設定)、新しいアカウントが作成されます。そうでない場合、ユーザは同じメールアドレスを持つ既存のアカウントに認証をリンクするよう促されます。エントリはユーザプレファレンスの[[連携ログイン]]セクションにあります。
# An access token will be issued when the user logs in using the stored authorisation code. A scheduled task exists to regularly update the OAuth 2 tokens (\core\oauth2\refresh_ system_tokens_task).
# 保存された認証コードを使用してユーザがログインした時点でアクセストークンが発行されます。定期的にOAuth 2トークンを更新するスケジュールタスクが存在します (\core\oauth2\refresh_ system_tokens_task)。
# 保存された認証コードを使用してユーザがログインした時点でアクセストークンが発行されます。定期的にOAuth 2トークンを更新するスケジュールタスクが存在します (\core\oauth2\refresh_ system_tokens_task)。
# Moodle uses this access token for any internal services that require a resource from the service provider, for instance, a link to files in a repository. Some internal services require a system account to be connected.
# Moodleはこのアクセストークンをサービスプロバイダのリソース (例えばリポジトリのファイルへのリンク) を必要とする内部サービスに使用します。いくつかの内部サービスでは接続するためにシステムアカウントを必要とします。
# Moodleはこのアクセストークンをサービスプロバイダのリソース (例えばリポジトリのファイルへのリンク) を必要とする内部サービスに使用します。いくつかの内部サービスは接続するためにシステムアカウントを必要とします。


==OAuth 2認証をセットアップする Setting up OAuth 2 authentication==
==OAuth 2認証をセットアップする==
To use OAuth 2 authentication, an administrator must follow the following steps:
OAuth 2認証を使用する場合、管理者は以下の手順に従ってください:
OAuth 2認証を使用する場合、管理者は以下の手順に従ってください:
# Configure OAuth 2 services: Go to '''Site administration > Server > OAuth 2 services''', and following the instructions on the [[OAuth 2 services]] page.
# OAuth 2サービスを設定する: '''サイト管理 > サーバ > OAuth 2サービス'''に移動して、 [[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を有効にする: '''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''を有効にしてください。
# Configure OAuth 2 lock user fields: To control if and how certain user data fields are being populated, click on the '''Settings''' link and configure your '''Lock user fields'''.
# OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには'''設定'''リンクをクリックして'''ユーザフィールドのロック'''で設定してください。
# OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには'''設定'''リンクをクリックして'''ユーザフィールドのロック'''で設定してください。
# Prevent account creation: By default, account creation is enabled. If you wish to prevent account creation, go to '''Site administration > Plugins > Authentication''' and enable the setting "authpreventaccountcreation".
# アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。アカウントの作成を防止したい場合、'''サイト管理 > プラグイン > 認証'''に移動して、設定「authpreventaccountcreation」を有効にしてください。
# アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。あなたがアカウント作成を防止したい場合、'''サイト管理 > プラグイン > 認証'''に移動して、設定「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の設定が機能していることを確認するには''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''行の'''テスト設定'''リンクをクリックしてください。ここであなたはサービスを選択して接続をテストできます。
OAuth 2 authentication is supported by the following Moodle features:
OAuth 2認証は以下のMoodle機能でサポートされます:
OAuth 2認証は以下のMoodle機能でサポートされます:
* Repositories: [[Dropbox repository]], [[Google Drive repository]], Microsoft [[OneDrive repository]], and [[Nextcloud repository]]
* リポジトリ: [[Dropboxリポジトリ]], [[Googleドライブリポジトリ]], Microsoft [[OneDriveリポジトリ]], [[Nextcloudリポジトリ]]
* リポジトリ: [[Dropboxリポジトリ]], [[Googleドライブリポジトリ]], Microsoft [[OneDriveリポジトリ]], [[Nextcloudリポジトリ]]
* Portfolios: [[Google Drive portfolio]]
* ポートフォリオ: [[Googleドライブポートフォリオ]]
* ポートフォリオ: [[Googleドライブポートフォリオ]]
* Badges: [[Backpacks|Open Badges 2.1]]
* バッジ: [[バックパック|オープンバッジ2.1]]
* バッジ: [[バックパック|オープンバッジ2.1]]
* Mail: Incoming and outgoing [[Mail configuration|mail configuration]]
* メール: 受信および送信[[メールの設定]]
* メール: 受信および送信[[メール設定]]
* Document converters: [[Google Drive converter]]
* ドキュメントコンバータ: [[Googleドライブコンバータ]]
* ドキュメントコンバータ: [[Googleドライブコンバータ]]
==関連情報 See also==
 
==関連情報==
* [[OAuth 2 トラブルシューティング]]
* [[OAuth 2 トラブルシューティング]]
[[Category:OAuth 2]]
[[Category:OAuth 2]]
[[es:Autenticación OAuth 2]]
[[de:OAuth2 Authentifizierung]]
----------------------------------------------------------------------------------------
[[File:oauth 2 auth.png | thumb | OAuth 2サービスでログインするためのオプションが表示されたログインページ]]
==別のサイトのアカウントを使用してログイン==
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のレコードを有効にしてください。レコードの設定を微調整することもできます。
[[カテゴリ:OAuth 2]]
[[en:OAuth 2 authentication]]
[[en:OAuth 2 authentication]]
[[es:AutenticaciónOAuth 2]]
[[es:Autenticación OAuth 2]]
[[de:OAuth2 Authentifizierung]]
[[de:OAuth2 Authentifizierung]]

2023年12月3日 (日) 09:36時点における最新版


概要 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機能でサポートされます:

関連情報