1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MoodleのOAuth2認証にてDiscordを追加する方法

Last updated at Posted at 2023-05-07

はじめに

MoodleのOAuth2認証にてDiscordを追加する方法を記載していく。筆者がこれを書いている時点では調べても十分な情報が出てこなかったため,後世に遺すこととする。また,初心者に対する手ほどきも兼ねる。

筆者の状況(求める読者像)

  • OAuth2をよくわかっていない
  • できれば応用というものをしたくなく,書かれていることをそのままやるだけがいい
  • 英語を読みたくない
  • とりあえず初心者
  • Moodle 4.1.0

Discord上での設定

Discord DEVELOPER PORTALにログインする

右上の「New Application」から新しいアプリを作成する。

image.png
「Name」欄には,あなたが他のアプリと区別できる自由な名前(My Moodleなど)を入力する。何もわからない人は「TEAM」などをいじらず,最後のチェックボックスにチェックを入れて「Create」を押す。
image.png

左側のOAuth2を押す。

image.png

「CLIENT ID」と「CLIENT SECRET」を控える。「CLIENT SECRET」は「Reset Secret」を押して発行し控える。(ここで出てきた情報は他人に明かさないこと)

image.png

「Redirects」欄に「https://[あなたのMoodleのアドレス]/admin/oauth2callback.php」を「Add Redirect」する。

左側のメニューから「URL Generator」を押す。

「SCOPES」で「identify」,「email」,「connections」にチェックする。
「SELECT REDIRECT URL」で6. で入力したリダイレクトURLを選択する。
「GENERATE URL」のURLを「Copy」する。
image.png

Moodle上での設定

「サイト管理」→「プラグイン」→「認証」→「認証管理」で,「OAuth 2」を有効(目が見えている状態)にする。

image.png
設定等は適宜行ってください。既存のアカウントで変更されたくないフィールドがある場合はロックするにしておくことをおすすめします。また,初期設定では対応するアカウントがなかった場合は,アカウント作成されます。禁止したいときは「authpreventaccountcreation」設定を有効にしてください。

「サイト管理」→「プラグイン」→「サーバ」→「サーバ」→「OAuth 2サービス」で,「カスタム」を選択する。

image.png
次のように入力してください。
image.png

Moodle側 入力する値
名称 (自由)
クライアントID Discordの「CLIENT ID」
クライアント秘密鍵 Discordの「CLIENT SECRET」
サービスベースURL Discordの「GENERATE URL」で発行したURL
ロゴURL (自由)
このサービスが使用される場所 ログインサービスおよび内部サービス
ログインページの表示名 (自由)
ログインリクエストに含まれるスコープ identify email connections
オフラインアクセスのログインリクエストに含まれるスコープ identify email connections
ログインドメイン (空白でよい)
メール確認を必要とする (僕はチェックを外しています)
私はメール認証無効化によるセキュリティ上の問題を理解しています。 (必須)

「編集」の左から2つ目のアイコン「エンドポイントを設定する」を押す。

image.png
次のように設定してください。
image.png

名称 URL
authorization_endpoint https://discord.com/api/oauth2/authorize
token_endpoint https://discord.com/api/oauth2/token
userinfo_endpoint https://discord.com/api/users/@me

「編集」の左から3つ目のアイコン「ユーザフィールドマッピングを設定する」を押す。

image.png
僕は図のように設定しています。「email」は必須ですが,適宜設定してください。
image.png

設定完了

これでMoodleのログインページにDiscordでログインするボタンが出てきたかと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?