2019年6月20日 星期四

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中找到底下



以Oauth為範例,

選擇Provider configuration (OAuth)後的 Add,

新增一個provider設定


3.
比較重要的幾個設定為

已啟用(Enable)  :  此選項當然要打勾啟用

icon class / icon image:  此兩者必須要設定其中一項

Name:  即provider的名字

site: 填寫目前Open edX網域名稱



Visible:  當然要打勾, 不然就使用者無法看到登入選項

Backend name:  目前的第三方下拉式選單,預設有Google , Facebook, Linkedin, Azuread等

再來就是Oauth中由Provider所提供的

Client ID與 Client Secret

按下儲存



4.
在Open edX登入畫面即可看到如以下的按鈕

使用者可根據自己需求,

點選不同第三方進行登錄


5.
前面有提到Open edX的第三方登入必須綁定現有的帳號才能使用,

所以第一次使用第三方登入必須先以平台的帳號登入,

在右上角下拉式選單中選擇 "帳號"(Account),

再到"已連結帳號"分頁進行綁定




除了Google , Facebook 等等,

據說還支援了其他不少的第三方Provider,

不過預設在系統中並未列出來,

僅在官方文件有提到:

沒有留言: