建議鼓勵各大學建立OAuth平台

唐委員妳好,關於開放政府的方向,我想提供"鼓勵各大學建立OAuth平台"的建議
雖然OAuth不完全符合開放的定義,但我覺得應該鼓勵各大學建立OAuth平台或是API Gateway,有以下幾項優點:

  1. 鼓勵學生開發更實用的應用:一般大學生能完成的系統不外乎留言板或失物招領系統等簡單的系統,若想進一步完成更複雜的系統時,往往會需要身份驗證或輸入個人資料,若學校能提供此驗證機制,學生可直接引用而不需再次實作註冊功能,並且不需維護帳密的儲存,降低資安風險。
  2. 加強學生閱讀開發文件及引用第三方API的能力:現在已非單打獨鬥的時代,閱讀他人所寫的文件、整合第三方API甚至向第三方回饋意見,是現代工程師重要的能力之一。
  3. 資料只需一份:師生在校內常常會需要到各單位系統上作不同的事,但都會輸入相同的資料,例如地址、電話、郵局帳號或是大頭照等。使用OAuth授權資料,則只需要在入學時輸入一次即可,各單位也無需煩惱該資料是否為最新版。
  4. 各單位開發系統可更有彈性:一般來說各單位有兩種系統開發的模式,自行開發或是委外開發。
    自行開放的系統要引用個人資料時,通常會向教務處、學務處等處室的資料庫管理者要求連線的權限,但每開發一個系統都會需要重覆一次上述的流程,增加管理者管理上的負擔,而且各單位有自己的資訊人員的比例也很少,絕大部份是找學生開發,這其實也增加個人資料洩露的可能性。委外廠商就不太可能連線處室的資料庫了,通常只能讓使用者再重覆填寫辦理業務所需的資料,但這對使用者來說其實也是重覆的工作,而且資料也無法即時更新。
    若學校能提供OAuth,在需要使用者同意才能授權資料的條件下,各處室更能放心的分享所擁有的學生資料,而且使用者也無需每次填寫相同的資料;並且無論是校內外的開發者,都可以使用OAuth獲取資料,降低了個資外洩的疑慮,並且可追蹤使用狀況。
  5. 新系統以API導向優先可以鼓勵各處室在開發新系統時,優先考慮到API的實作、分享的格式等面向,在開放資料的推廣上也會有所幫助。
  6. 提升畢業生開發實力當今許多科技巨擎是從創辦人大學生時代的作品延續而來,若能透過讓大學生先以母校作為playground,儘早掌握實作的能力,也可以提升畢業生的科技實力。
    我曾在中央大學計中擔任工程師,期間也與同事和一群同學完成OAuth和API的平台(http://ncu-cc.github.io),雖然只是實驗性質,但是也提供了課程、學生證認證、地標等API。以上幾點是我這期間的感想,雖然不是開放資料的主流作法,但覺得是一個可以參考的方向,謝謝。
1 Like

都同意,感謝貢獻。Open API 僅表示機器可讀寫、有開放格式 API 的全站索引,但對存取權限並沒有規範,甚至可以在內網運行。
以 OAI spec 而言,也可以搭配 OAuth 進行認證: https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/2.0.md#security-scheme-object