顯示具有 Client ID 標籤的文章。 顯示所有文章
顯示具有 Client ID 標籤的文章。 顯示所有文章

2020年11月20日 星期五

以 Google 為範例設定 Open edX 第三方登入

第三方登入又稱 social authentication ,

簡單明瞭一些的就是使用社群帳號來登入網站,

可以少記一組帳號密碼,

Open edX 當然也支援此種方式登入:

以 Google 為範例設定 Open edX 第三方登入

之前也提到過使用 Facebook 的第三方登入,

其實作法大同小異,

主要的不同點主要在 Google 端的申請,

前往 Google API console

在憑證部分新增一個 OAuth 用戶端 ID


填好或選取各項資料:

  • 應用程式類型:網頁應用程式
  • 名稱:
  • 已授權的重新導向 URI: [your edx domain]/auth/complete/google-oauth2/


申請完畢後可以取得一組用戶端 ID與用戶端密碼
前往

[your edx domain]/admin/third_party_auth/

進入 oauth2providerconfig 並新增一個設定( ADD PROVIDER CONFIGURATION )

填好或選取下列各項目:

  • enable:勾選
  • icon class: fa-google-plus (新版本 Juniper 改為藍底)
  • Name: Google
  • Slug: google-oauth2
  • Site: [ your edx domain ]
  • Visible:勾選
  • 信件驗證的話可選可不選
  • Backend name: google-oauth2
  • Client ID: 就是上述在 Google 申請的用戶端 ID
  • Client Secret: 上述申請的用戶端密碼

其中 Client Secret 也可以填寫在 /edx/app/edxapp/lms.auth.json中,

“SOCIAL_AUTH_OAUTH_SECRETS”: {       
        “google-oauth2”: “Client Secret” 
}



儲存跳出回到 Open edX 的登入畫面,

就能看到多出一個 Google 的登入選項,


要使用第三方登入,

必須先以平台帳號登入後,

在 帳號設定已連結的帳號 中,

進行綁定才能正常使用。




 


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,

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

僅在官方文件有提到: