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

提供:MoodleDocs
移動先:案内検索
 
(2人の利用者による、間の36版が非表示)
1行目: 1行目:
{{認証}}  
{{認証}}
[[File:oauth 2 auth.png | thumb | OAuth 2サービスでログインするためのオプションが表示されたログインページ]]
==別のサイトのアカウントを使用してログイン==


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


アカウントの作成が有効になっている場合、ユーザが初めてログインすると、新しいアカウントが作成されます。それ以外の場合は、同じメールアドレスで[[リンクされたログイン|既存のアカウントにリンク]]するように求められます。
[[File:OAuth Login.png|border|center|frameless|600x600px]]
以下のハイレベルな対話プロセスではOAuth 2認証がMoodleコンテクストでどのように動作するか示しています:
[[File:OAuth - Service Provider Authentication.png|border|center|frameless|600x600px]]


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


OAuth 2認証を使用するには、管理者は最初に必要なOAuth 2サービスを作成する必要があります。
==OAuth 2認証をセットアップする==
OAuth 2認証を使用する場合、管理者は以下の手順に従ってください:
# OAuth 2サービスを設定する: '''サイト管理 > サーバ > OAuth 2サービス'''に移動して、 [[OAuth 2サービス]]ページのインストラクションに従ってください。
# OAuth 2を有効にする: '''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''を有効にしてください。
# OAuth 2ロックユーザフィールドを設定する: 特定のユーザデータフィールドにどのように入力されるか制御するには'''設定'''リンクをクリックして'''ユーザフィールドのロック'''で設定してください。
# アカウント作成を禁止する: デフォルトではアカウント作成が有効にされています。アカウントの作成を防止したい場合、'''サイト管理 > プラグイン > 認証'''に移動して、設定「authpreventaccountcreation」を有効にしてください。
# テスト、テスト、テスト: OAuth 2の設定が機能していることを確認するには''サイト管理 > プラグイン > 認証'''に移動して'''OAuth 2'''行の'''テスト設定'''リンクをクリックしてください。ここであなたはサービスを選択して接続をテストできます。
OAuth 2認証は以下のMoodle機能でサポートされます:
* リポジトリ: [[Dropboxリポジトリ]], [[Googleドライブリポジトリ]], Microsoft [[OneDriveリポジトリ]], [[Nextcloudリポジトリ]]
* ポートフォリオ: [[Googleドライブポートフォリオ]]
* バッジ: [[バックパック|オープンバッジ2.1]]
* メール: 受信および送信[[メールの設定]]
* ドキュメントコンバータ: [[Googleドライブコンバータ]]


#[サイトの管理] > [サーバ]の[OAuth 2サービス]に移動し、ボタンをクリックして新しいサービスを作成します。
==関連情報==
#[[OAuth 2 Google service]]、[[OAuth 2 Microsoft service]]、または[[OAuth 2 Facebook service]]の指示に従って、クライアントIDと秘密鍵を取得します。
* [[OAuth 2 トラブルシューティング]]
#クライアントIDと秘密鍵を入力し、[ログインページに表示]がチェックされていることを確認して、変更を保存します。
[[Category:OAuth 2]]
 
必要に応じて、[メール確認を必要とする]チェックボックスをオフにすると、確認メールが送信されません。これは、ドメインに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パラメーターとして渡される長いトークンに依存しており、一部のWebサーバ構成ではこれが機能しません。 1つの可能な解決策については、http://www.php.net/manual/en/reserved.variables.get.php#101469を参照してください。
 
=== GoogleとFacebookの/admin/tool/oauth2/issuers.phpページにすべて緑色のチェックマークがありますが、サーバのログインページにボタンが表示されません===
 
(おそらくセキュリティ上の理由から)Moodle 3.4の新規インストールで、OAuth2のプラグイン設定が無効な状態であることが発見されました。サイト管理-プラグイン-認証-認証の管理(/admin/settings.php?section=manageauths)のページに移動し、OAuth2のレコードを有効にしてから、オプションでそのレコードの設定を微調整します。
 
[[カテゴリ: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機能でサポートされます:

関連情報