OAuth App Homepage / brand disclosure
AllenChang's Creative
AllenChang's Creative 是 Google OAuth 同意畫面上的應用程式與開發者品牌,為旗下產品提供 Google 帳號登入與授權。目前以 Dwello 寓作為已驗證的使用此授權的產品;其他公開產品在當前可驗證來源中沒有使用此授權流程,本頁不替它們作 OAuth 聲明。
01 / Brand identity
這個名稱,就是同意畫面上的名稱。
AllenChang's Creative 是出現在 Google OAuth 同意畫面上的應用程式名稱與開發者品牌名稱;旗下產品的 OAuth 申請都以此名稱提交。
- OAuth 同意畫面上的應用程式名稱
- AllenChang's Creative
- OAuth 同意畫面上的開發者品牌
- AllenChang's Creative
- 目前使用此 OAuth 授權的產品
- Dwello 寓(以 Dwello 補充政策為準)
02 / Requested scopes
同意畫面上會出現的範圍。
每個範圍都只做一件事;下面用來說明目前已驗證的 Dwello 流程,其他公開產品未在此範圍內。
| 範圍(OAuth scope) | 用途 | 實際資料行為 |
|---|---|---|
| openid | 身份層級 | 取得 Google 簽署的 ID token,用於驗證目前登入者為 Google 帳號本人;後端以此驗證 sub、iat 與 exp 等標準宣告。 |
| 已驗證電子郵件 | 取得使用者的 email 與 email_verified 宣告;後端要求 email_verified 為 true,才會建立或更新使用者資料。 | |
| profile | 顯示名稱與頭像 | 取得使用者 Google 帳號的 name 與 picture 宣告,僅作為產品介面中的顯示名稱與頭像使用,不做為外部行銷或分析。 |
| https://www.googleapis.com/auth/drive.file | 受限制的雲端硬碟權限 | 只允許 Dwello 在使用者的 Google Drive 建立與管理 Dwello 自己產生的資料夾與檔案;不可列舉、讀取或修改其他檔案。 |
四個範圍由前端 google.accounts.oauth2.initTokenClient 一次性請求;Dwello
後端不會額外向 Google 要求 Drive 範圍。
03 / Drive file boundary
drive.file 不等於「整個雲端硬碟」。
在 Dwello 已驗證的範圍裡,drive.file 是受限範圍;它不會讓應用程式讀取、列舉或修改使用者 Google Drive 中的其他檔案。
- 僅限 Dwello 自己建立的資料夾與檔案。 Dwello 會在使用者 Drive 建立「Dwello / 專案名稱 / 分類」結構,只在這個結構裡新增與管理檔案。
- 不列舉、不讀取既有的其他檔案。 Dwello 不會讀取使用者的整個 Drive、不會列舉既有的檔案清單,也不會修改 Dwello 沒有建立的檔案。
- 不在伺服器保存照片或文件內容。 壓縮後的照片由瀏覽器直接送往使用者自己的 Google Drive;產品資料庫只保存 Drive 檔案識別碼。
- 不使用 Picker;無使用者選檔流程。 Dwello 沒有引入 Google Picker,使用者不需要把不相關的檔案交給應用程式。
- 使用者隨時可在自己的 Drive 改回私人或刪除。 應用程式預設把上傳的照片設為「知道連結的人可以檢視」以便分享 Dwello 紀錄頁;使用者可以隨時在 Google Drive 改回私人或刪除。
簡單地說:drive.file 只允許 Dwello 看到「Dwello 自己在你 Drive 寫過的東西」,不允許看到、修改或刪除其他檔案。
04 / Storage and retention
token 在記憶體;session 是第一方;資料庫只存雜湊。
已驗證的 Dwello 流程把敏感狀態拆成三層,每層只保存它該保存的東西。
- Google Drive access token
-
只存在目前頁面的 JavaScript 模組變數;不寫入
localStorage、sessionStorage、IndexedDB、URL 或 log;登出時清除。 - Session token
-
第一方 HttpOnly cookie;正式環境同時帶
Secure與SameSite=Lax;瀏覽器腳本無法讀取。 - 資料庫裡的 session
-
只保存 session token 的 SHA-256 雜湊與到期時間;撤銷以設定
revoked_at為準,cookie 同時過期。 - 保留期限
- 絕對期限為七日,閒置逾三十分鐘視為過期;登出立刻撤銷。可透過 Google 帳號設定或 Dwello 站內登出撤銷授權。
05 / User controls
使用者保留對授權、分享與檔案的主控權。
以下控制權在 Dwello 公開隱私權政策中也再次列出;母品牌頁面只摘要最常被問到的幾項。
- Google 帳號端撤銷。 你可以在 Google 帳號設定 → 第三方應用程式存取中,隨時撤銷對 AllenChang's Creative 的授權。
- 產品內登出。 Dwello 站內登出會清除目前頁面記憶體中的 Drive token、刪除第一方 session、並在資料庫把該 session 標記為撤銷。
- Drive 檔案主控權。 你可以隨時在自己的 Google Drive 修改照片的分享權限、刪除檔案,或整個資料夾刪除;Dwello 資料庫只保留檔案識別碼,檔案本體仍在你的 Drive。
- 改回私人。 上傳時預設的「知道連結的人可以檢視」是為了 Dwello 紀錄頁分享用途,你可以隨時改回私人;改回後 Dwello 紀錄頁的圖片會無法載入。
- 聯絡方式。 任何與品牌或授權相關的問題可寄信至 wei.3dp@gmail.com,請不要在信件中附上密碼、token 或私人檔案內容。
06 / Policies and entry points
對外公開的政策與產品入口。
以下連結是 AllenChang's Creative 對外公開、可被搜尋與驗證的政策頁與產品入口。
- 母品牌 Privacy Policy:/privacy/
- 母品牌 Terms of Service:/terms/
- Dwello 寓 Privacy Policy 補充:/apps/dwello/privacy/
- Dwello 寓產品入口:/apps/dwello/
- AllenChang's Creative 首頁:/
目前公開的政策頁固定為六頁,本頁是品牌 OAuth 揭露頁,不屬於政策頁;Project 1214 與 EPUB Tools 在當前可驗證來源中沒有使用 Google OAuth,本頁不會替它們作 OAuth 聲明。