# [Week 3] 網路架構、單一登入、專案相關
###### tags: `MCL` `Weekly Meeting`
### 工讀事項
* 回報完沒問題就可以不用傳了
## 網路架構
複習:[網路 (IPv4)、Proxy、VPN](https://docs.mcl.math.ncu.edu.tw/books/weekly-meeting/page/week-5-%E7%B6%B2%E8%B7%AF-%28ipv4%29%E3%80%81proxy%E3%80%81vpn)
## 單一登入
透過憑證或是 token (通常會是一組雜湊或是可驗證的加密值) 取代帳號密碼的形式,其他網頁上常見的「社群登入」就是單一登入的案例。
<img src="https://hackmd.mcl.math.ncu.edu.tw/uploads/upload_a21d73898eed9823f48b629e3ef602cc.png" width=500 />
> [name=onelogin. [How does single sign-on work?](https://www.onelogin.com/learn/how-single-sign-on-works)]
單一登入是一種概念,實際上有多種實現的方式。以常見的幾種來談有 SAML 2.0 跟 OIDC 1.0 這兩種,前者較早推出,目前也多用於企業使用;後者是比較新的協定,比起前者有相對低負擔的效果。
<img src="https://hackmd.mcl.math.ncu.edu.tw/uploads/upload_fefe9f3065d0a1da9230166a1d13822d.png" width=500 />
> <i class="fa fa-image"></i> 相關協定演進圖
> [name=Patryk Borowa. [OAuth vs OIDC vs SAML. Security Battle Royale](https://blog.aspiresys.pl/technology/oauth-vs-oidc-vs-saml-security-battle-royale/)]
## 專案相關
### GitLab
* https://gitlab.mcl.math.ncu.edu.tw
* 專案程式碼可以放在自己的倉儲上
* MCL 群組中可以查看現有的開發專案
### 開發環境
* 推薦使用 VSCode 開發,並搭配 Git 進行專案管理。
* [套件、設定系列文件](https://docs.mcl.math.ncu.edu.tw/books/%E9%96%8B%E7%99%BC%E7%92%B0%E5%A2%83/chapter/visual-studio-code)
### 開放專案
#### 1. 系網頁 HTTPS 部屬
幫系網頁加上 HTTPS 憑證
* docker-compose
* Let's encrypt
#### 2. K8s 叢集部屬
* DOCS 內有一些相關文件可參閱
#### 3. webvirtcloud 單一登入功能開發
* Django
#### 4. Ansible 大教室整合控制平台
* ansible 套件,可對多台電腦下批次指令