差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:dokuwiki_google_oauth [2019/02/12 15:01] Jonathan Tsaitech:dokuwiki_google_oauth [2019/02/12 17:06] (目前版本) – [參考文件] jonathan_tsai
行 1: 行 1:
 +====== 設定 Dokuwiki 使用 Google OAuth 認證方式登入 ======
 +
 +因為大量使用 Google 的服務, 也順便測試一下 dokuwiki 上 Google OAuth 的認證方式.
 +
 +
 +<note>
 +  * Google+ API 2019/3/7 正式停用 - https://developers.google.com/+/api-shutdown
 +  * 目前使用的 dokuwiki [[https://www.dokuwiki.org/plugin:authgoogle|authgoogle]] plugin 沒改版很可能就無法使用
 +  * 所以評估 dokuwiki [[https://www.dokuwiki.org/plugin:oauth|oAuth]] plugin  --- //[[|Jonathan Tsai]] 2019/02/12 14:57//
 +</note>
 +
 +===== 安裝方式 =====
 +  * 先至 [[https://console.developers.google.com/|Google API Console]] 申請帳號與建立專案
 +    - 建立專案 Exp. ichiayi-wiki
 +    - 在選單選擇 APIs & services -> 憑證 \\ {{:tech:2019021201.png}}
 +    - 憑證 -> 建立憑證 \\ {{:tech:2019021202.png}}
 +    - 建立憑證 -> OAuth 用戶端 ID \\ {{:tech:2019021203.png}}
 +    - 建立 OAuth 用戶端 ID-> 網路應用程式 \\ {{:tech:2019021204.png}}
 +    - 產生的用戶端密鑰要記錄下來 \\ {{:tech:google_oauth07.png|}} \\ {{:tech:google_oauth03.png|}}
 +    - 設定 OAuth 同意畫面 \\ {{:tech:google_oauth04.png|}}
 +    - 設定 網域驗證 \\ {{:tech:google_oauth05.png|}}
 +
 +  * 安裝 dokuwiki plugin - [[https://www.dokuwiki.org/plugin:oauth|oAuth Plugin by Andreas Gohr]]
 +    - 管理選單 -> 系統設定 -> 認證設定 -> 認證後台管理方式 -> oauth \\ {{:tech:2019021205.png}}
 +    - 管理選單 -> 附加元件設定 -> Oauth \\ {{:tech:2019021206.png}}
 +      - google-key 填上 上面申請的 OAuth 用戶端 ID
 +      - google-secret 填上 上面申請的 用戶端密鑰
 +
 +===== 使用方式 =====
 +  * 登入畫面多出 Login with other Services \\ {{:tech:2019021207.png}}
 +  * 點下這整合 Google OAuth 登入, OAuth認證通過後會自動在使用者清單新增帳號((必須設定開啟 wiki 可註冊用戶功能)), 預設群組權限會是依照系統設定的群組 Exp. user 再加上 google, 所以需要管理者第一次登入之後調整群組權限 \\ {{:tech:2019021208.png}}
 +  * 上面看到 google 開頭的帳號是之前 [[https://www.dokuwiki.org/plugin:authgoogle|dokuwiki authgoogle plugin]] 產生的帳號, 所以當改用 OAuth plugin 的更改方式, 可以直接在原有的帳號後面加上 google 群組, 只要比對 Google 帳號的 mail 相同應該就可以認證通過
 +
 +===== 參考文件 =====
 +  * https://www.dokuwiki.org/plugin:authgoogle
 +  * https://www.dokuwiki.org/plugin:oauth
 +  * https://developers.google.com/identity/protocols/OAuth2
 +  * https://developers.google.com/identity/protocols/OpenIDConnect
 +
 +{{tag>dokuwiki oauth}}