mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-08-22 21:06:38 +00:00
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package cookie
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func AddAccessTokenCookie(c *gin.Context, maxAgeInSeconds int, token string) {
|
|
addCookie(c, AccessTokenCookieName, token, maxAgeInSeconds, "/")
|
|
}
|
|
|
|
func AddSessionIdCookie(c *gin.Context, maxAgeInSeconds int, sessionID string) {
|
|
addCookie(c, SessionIdCookieName, sessionID, maxAgeInSeconds, "/")
|
|
}
|
|
|
|
func AddDeviceTokenCookie(c *gin.Context, deviceToken string) {
|
|
addCookie(c, DeviceTokenCookieName, deviceToken, int(15*time.Minute.Seconds()), "/api/one-time-access-token")
|
|
}
|
|
|
|
func AddDeviceLoginTokenCookie(c *gin.Context, requestID, deviceToken string) {
|
|
path := "/api/device-login/requests/" + requestID + "/exchange"
|
|
addCookie(c, DeviceLoginTokenCookieName, deviceToken, int(15*time.Minute.Seconds()), path)
|
|
}
|
|
|
|
func AddReauthenticationTokenCookie(c *gin.Context, reauthenticationToken string) {
|
|
addCookie(c, ReauthenticationTokenCookieName, reauthenticationToken, int(3*time.Minute.Seconds()), "/")
|
|
}
|
|
|
|
func addCookie(c *gin.Context, name, value string, maxAge int, path string) {
|
|
c.SetSameSite(http.SameSiteLaxMode)
|
|
c.SetCookie(name, value, maxAge, path, "", true, true)
|
|
}
|