在API的世界裡,Token不會永久有效,它有一個「生命周期」,就像一張電影票,只能在特定場次使用,過了時間就失效,這種設計是為了降低風險,避免Token一旦外流就能無限期被濫用。
Token 的生命周期:
一個Token通常會設定有效時間,例如30分鐘、2小時或一天,使用者登入後取得Token,在有效時間內都能正常使用API,一旦過期,再次發送請求就會被伺服器拒絕,需要重新驗證或更新Token。
為什麼要設有效期限?
原因很簡單,安全性。假如Token沒有期限,就算被駭客竊取也能一直使用,風險非常大,有了期限即使被盜用,影響也能被控制在有限的時間範圍內。
Token 的更新機制:
為了不讓使用者頻繁重新登入,系統通常會設計「更新機制」。最常見的做法是使用 Access Token + Refresh Token:
使用者登入後會拿到兩個Token,當Access Token過期時,應用程式可以拿Refresh Token向伺服器請求新的Access Token,而不用讓使用者重新輸入帳號密碼,既能兼顧安全,也能保持良好的使用體驗。
實際應用情境:
像是線上購物平台,使用者登入後瀏覽商品、下單、查看訂單,都需要靠 Token 來驗證,如果Token期限太短,可能每點幾下就被迫重新登入,體驗很差;如果期限太長,又容易造成安全漏洞,因此,系統會透過設定合理的生命周期,再配合Refresh Token機制,在安全與便利之間取得平衡。