Open edX第三方帳號登錄(Oauth2)
由於Open edX的開放,
所以對於第三方網站的支援也蠻多樣的,
針對第三方登錄,
Open edX是採用與現有Open edX帳號綁定的方式,
而非直接註冊一個新帳號給予第三方帳號使用,
Open edX支援底下幾種類型的第三方伺服器:
- 基於Oauth的provider
- Security Assertion Markup Language (SAML) V2
- LTI
既然Open edX支援, 接下來就教大家如何將此服務開啟
Open edX第三方帳號登錄(Oauth2)
1. 首先找到 /edx/app/edxapp/lms.env.json ,
找到
"FEATURES" : {
...
"ENABLE_COMBINED_LOGIN_REGISTRATION": true,
"ENABLE_THIRD_PARTY_AUTH": true
}
並確認ENABLE_THIRD_PARTY_AUTH為enable
2.
接著就是到django admin中找到底下
![](https://1.bp.blogspot.com/-aVLjlozf_Jk/XQtWwNvpoxI/AAAAAAAAbpo/jBx-fH4uIL46J4tZUiQgctQ0p_hxCPN9QCKgBGAs/s640/edx_oauth2001.png)
以Oauth為範例,
選擇Provider configuration (OAuth)後的 Add,
新增一個provider設定
3.
比較重要的幾個設定為
已啟用(Enable) : 此選項當然要打勾啟用
icon class / icon image: 此兩者必須要設定其中一項
Name: 即provider的名字
site: 填寫目前Open edX網域名稱
![](https://1.bp.blogspot.com/-pRRDhFWa_oc/XQtXxXonI3I/AAAAAAAAbqE/UrFHLucodfEsCGOF15OSY__y1ZuJgwMVACKgBGAs/s640/oauth01.png)
Visible: 當然要打勾, 不然就使用者無法看到登入選項
Backend name: 目前的第三方下拉式選單,預設有Google , Facebook, Linkedin, Azuread等
再來就是Oauth中由Provider所提供的
Client ID與 Client Secret
按下儲存
![](https://1.bp.blogspot.com/-wnrOr7xaExc/XQtXxb5hOcI/AAAAAAAAbqE/tk5CNdbVJlApRBDeQTWcpKoLM3GaYxlrQCKgBGAs/s640/OAUTH02.png)
4.
在Open edX登入畫面即可看到如以下的按鈕
![](https://1.bp.blogspot.com/-d7HxysfZ5ys/XQtZ9nI6vSI/AAAAAAAAbqo/6ZcR2RDVB38d0v7mYE1KA062jXqfTuTwACKgBGAs/s640/2019-06-20%2B18-02-06%2B%25E7%259A%2584%25E8%259E%25A2%25E5%25B9%2595%25E6%2593%25B7%25E5%259C%2596.png)
使用者可根據自己需求,
點選不同第三方進行登錄
5.
前面有提到Open edX的第三方登入必須綁定現有的帳號才能使用,
所以第一次使用第三方登入必須先以平台的帳號登入,
在右上角下拉式選單中選擇 “帳號”(Account),
再到”已連結帳號”分頁進行綁定
![](https://1.bp.blogspot.com/-bIjIziCMnN8/XQtdxyK4H2I/AAAAAAAAbrs/KAfVod2iClQ0Dj5ouDDv96ghueBhMR5ZwCKgBGAs/s640/2019-06-20%2B18-08-32%2B%25E7%259A%2584%25E8%259E%25A2%25E5%25B9%2595%25E6%2593%25B7%25E5%259C%2596.png)
除了Google , Facebook 等等, 據說還支援了其他不少的第三方Provider, 不過預設在系統中並未列出來, 僅在官方文件有提到: 4.23.3.2.1.2. Additional OAuth2 Providers (Advanced)
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================