讓moodle透過nextcloud提供的oauth2 服務進行登入認證
1. moodle與nextcloud需要有一樣名稱的管理者帳號
有點類似微軟網域伺服器之間的互信,我這邊兩方都建立admin這個有管理權限的帳號。
2. 管理者帳號登入nextcloud網站進行設定
新增客戶端
名稱: moodle
網址: https://xxxxx/admin/oauth2callback.php (xxxxx 為您moodle伺服器網址)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-7.png?resize=860%2C454&ssl=1)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-8.png?resize=860%2C272&ssl=1)
3.管理者帳號登入moodle網站,讓oauth2納入認證範圍
網站管理->外掛->身分認證->管理身分認帳
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-9.png?resize=727%2C246&ssl=1)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-10.png?resize=860%2C338&ssl=1)
4.管理者帳號登入moodle網站,將nextcloud產生的帳密輸入進去
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-11.png?resize=600%2C390&ssl=1)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-12.png?resize=860%2C293&ssl=1)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-13.png?resize=815%2C876&ssl=1)
儲存變更後,點選以下小圖示,進行moodle與nextcloud的第一次交流驗證,成功後會出現一個綠色勾勾
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-15.png?resize=860%2C172&ssl=1)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-16.png?resize=860%2C151&ssl=1)
4. 大功告成
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-19.png?resize=352%2C637&ssl=1)
最後建議安裝keepalive,延長已登入狀態,否則常常要登入,麻瓜會生氣氣(安裝時,要注意/bitnami/moodle/local目錄是否可讀寫)
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/06/image-20.png?resize=559%2C678&ssl=1)
安裝完畢,可以設定session存活時間,最多300分鐘
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/09/image-22.png?resize=707%2C436&ssl=1)
此時我們就可以設定外觀,隱藏需要登入帳號與密碼的畫面
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/07/image-6.png?resize=614%2C645&ssl=1)
在「原始初始化SCSS」輸入以下語法隱藏登入畫面,只剩下oauth2登入。
.login-form {display:none}
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/07/image-5.png?resize=783%2C481&ssl=1)
設定完登出,重新登入就只能透過oauth2登入了
![](https://i0.wp.com/kafeiou.pw/wp-content/uploads/2023/07/image-7.png?resize=531%2C622&ssl=1)