OAuth 2 Nextcloudサービス

提供: MoodleDocs
移動先:案内検索

Nextcloudの構成

前提条件として、バージョン14.0.4(またはそれ以降)のNextcloudが必要です。それ以外の場合は、最初に最新のNextcloudバージョンにアップグレードしてください。次に、以下のようにしてMoodleをOAuth2クライアントとして登録するする必要があります。

  1. 管理者アカウントを使用してNextcloudにログインします。
  2. 右上隅のメニューを開き、 設定 を選択します。次のページで、左側の 管理 セクションで セキュリティ 項目を選択します。
    nextcloud-oauth2-settings.png
  3. 次のページの上部に、登録済みクライアントのリストが表示されます(最初は空です)。クライアントの追加 の下で、最初のフィールド(名前)にMoodleの名前(Mount Orange SchoolMoodle など)を入力します。ここに入力した名前はMoodleユーザに表示されることに注意してください。
  4. 2番目のフィールド(リダイレクトURI)に、MoodleのURLに続けて /admin/oauth2callback.php 入力します(例: "https://school.moodledemo.net/admin/oauth2callback.php")。
  5. 追加 をクリックして保存します。その後、ページは以下のスクリーンショットのようになります。
NextcloudでのOAuth2クライアントとしてのMoodleの登録

MoodleはOAuth2認証を使用してNextcloudに接続できるようになりました。

Moodleの構成

setup Nextcloudを取得したら、Moodleを設定できます。

  1. サイト管理 > サーバ > OAuth 2サービス に移動し、 新しいNextcloudサービスを作成する をクリックします。
  2. 次のページで、Nextcloudの 名称クライアントID および クライアント秘密鍵 を入力します(上のスクリーンショットのNextcloud管理インターフェースに表示されています)そして、あなたのNextcloudのURLである サービスベースURL 。カスタムNextcloud ロゴ を使用する場合は、そのURLも指定します。
    nextcloud-issuer-settings.png
  3. 他の設定を変更する必要はありません。変更を保存する をクリックしてください。

その後、Moodleから、たとえばNextcloudリポジトリからNextcloudサービスを使用できます。

nextcloud-issuer-configured.png

トラブルシューティング

MoodleがNextcloudと正しく通信するのを妨げるかもしれないいくつかの設定ミスがあります。それらのいくつかは、あなたが自分でNextcloudをホストすることができ、最初は見つけにくい間違いを犯しやすいという事実によるものです。ただし、このリストはそれらを解決するのに役立ちます。

システムアカウントに接続できません。
最初にNextcloudからログアウトします。システムアカウントとして接続するNextcloudアカウントがすべての個人アカウントとは異なることを確認してください。それは人ではなくMoodleに属するアカウントでなければなりません。また、発行者の設定を確認してください。チェックボックス HTTPヘッダーを介してトークン要求を認証する を有効にする必要があります!
認証は成功したようですが、ファイルピッカに ファイルがありません と表示されます。
Nextcloud側でHTTPSが正しく設定されていない可能性があります。 Nextcloudサーバには 有効な および 信頼できる 証明書が必要です!自己署名証明書は機能しません。ブラウザとは異なり、自己署名サーバ証明書を手動で 信頼 することはできません。また、Apacheモジュール rewriteheadersenv がNextcloudサーバにインストールされて有効になっていることを確認する必要があります。
Nextcloudでサインインした後、このリクエストは無効です。このエラーが続く場合は、[あなたのMoodle名]の管理者に連絡してください。 というエラーが表示されます。
Nextcloudに間違った リダイレクトURI を入力した可能性があります。それが /admin/oauth2callback.php で終わること、そして認証を試みるときにMoodleがNextcloudに送信しようとしているURLに 正確に 対応していることが重要です!
アクセス制御されたリンクにアクセスすると、Moodleを承認しますが、ファイルが表示されません。
古いNextcloudバージョン(14.0.1より前)では、Moodleを承認すると、Nextcloudブラウザーセッションが終了します。これを解決するには、最新のNextcloudバージョン(#Nextcloud構成を参照)にアップグレードしてください。
私がシステムアカウントを接続したので、Moodleは非常に遅いです
Nextcloudはややナイーブなブルートフォース保護を持っています(14.0.3より前)。有効にすると、場合によっては一部のMoodleリクエストの速度が低下します(MoodleプラグインがNextcloudをブルートフォースすることは絶対にありません!)。まず、これを解決するために、最新のNextcloudバージョン(#Nextcloud構成を参照)にアップグレードします。追加の手段として、Nextcloudの ブルートフォース 設定アプリをダウンロードできます。インストール後、MoodleサーバのIPをホワイトリストに追加します。
アクセス制御されたリンクを作成しようとすると、このファイルをダウンロードできません というエラーが表示されます。
これは、システムアカウントが接続されていない場合に発生する可能性があります。 サイト管理 > サーバ > OAuth 2サービス に移動し、Nextcloudシステムアカウントへの接続を再試行します。