用 Django 實現 Okta 單一登入(SSO)(一)
簡介 Okta、單一登入(SSO)、Okta 註冊以及創建 Web Application 的流程
Okta
Okta 是 SaaS(軟體即服務) 公司 Okta, Inc. 提供的網路身分認證的服務,透過雲端存取協助企業的員工與客戶進行身分確認、單一登入、用戶資料庫維護等。
單一登入
單一登入(Single Sign-On)讓員工可以免除重複登入多種各種企業 SaaS 應用。Okta 也提供一般的企業用戶網站登入系統,讓 R&D 可以專注於公司核心產品開發。多元的認證安全提供網路世代多一層的安全保護,並且方便IT人員設定與維護全公司的登入系統,如果還不熟悉 SSO,可以先閱讀:我們經常提到的單點登錄(SSO)到底是什麼東西?
Okta 登入流程
- 到 okta SSO 官網註冊:https://www.okta.com/products/single-sign-on/,獲取 Client ID、Client secret、Org URL,設置 CORS
- git clone 範例 Github:
okta/samples-python-flask (官方提供的範例 Github)
zeekhoo-okta/okta-django-samples (2019/10 親測可運行的 Github )
依照 README.md 輸入 okta 的帳號資料並運行程式
1. Okta 登入流程 — 官網註冊
官網:https://www.okta.com/free-trial/
- 註冊
2. 驗證 email 後用 email 裡面的 Username 和 Temporary password 登入
3. 註冊後點擊 「Applications」
4. 選取「Add Application」
5. 選取「Web」點選「Next」
6. 填寫 Base URIs (http://localhost:8000/)、登入後希望跳轉的 URIs (http://localhost:8000/oauth2/callback/) (下圖的 Login redirect URIs 要改為 http://localhost:8000/oauth2/callback)
7. 創建完後滑到最底下會看到 Client ID,以及 Client secret (等等要加到 Github 的 .env)
8. 回到首頁記一下 Org URL(等等要加到 Github 的 .env)
9. 設置 CORS access :點選首頁導航欄的 API,選取 Trusted Origins,選取 localhost:8000 ,確保 CORS 有勾選
恭喜!前置處理完成了!下一篇會說明如何用 Django 實現本地 Okta 單一登入(SSO),點我前往下一篇。