修复显示问题
This commit is contained in:
@@ -37,6 +37,11 @@ type HTTPHandler struct {
|
||||
deps Dependencies
|
||||
}
|
||||
|
||||
const (
|
||||
deviceIDCookieName = "filefast_device_id"
|
||||
deviceTokenCookieName = "filefast_device_token"
|
||||
)
|
||||
|
||||
func NewHTTPHandler(deps Dependencies) *HTTPHandler {
|
||||
return &HTTPHandler{deps: deps}
|
||||
}
|
||||
@@ -531,8 +536,7 @@ func (h *HTTPHandler) requireAdmin() gin.HandlerFunc {
|
||||
|
||||
func (h *HTTPHandler) requireDevice() gin.HandlerFunc {
|
||||
return func(c *gin.Context) {
|
||||
deviceID := strings.TrimSpace(c.GetHeader("X-Device-ID"))
|
||||
token := strings.TrimSpace(c.GetHeader("X-Device-Token"))
|
||||
deviceID, token := deviceCredentialsFromRequest(c)
|
||||
if deviceID == "" || token == "" {
|
||||
c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{"error": "missing device credentials"})
|
||||
return
|
||||
@@ -546,6 +550,27 @@ func (h *HTTPHandler) requireDevice() gin.HandlerFunc {
|
||||
}
|
||||
}
|
||||
|
||||
func deviceCredentialsFromRequest(c *gin.Context) (string, string) {
|
||||
deviceID := strings.TrimSpace(c.GetHeader("X-Device-ID"))
|
||||
token := strings.TrimSpace(c.GetHeader("X-Device-Token"))
|
||||
if deviceID != "" && token != "" {
|
||||
return deviceID, token
|
||||
}
|
||||
|
||||
if deviceID == "" {
|
||||
if value, err := c.Cookie(deviceIDCookieName); err == nil {
|
||||
deviceID = strings.TrimSpace(value)
|
||||
}
|
||||
}
|
||||
if token == "" {
|
||||
if value, err := c.Cookie(deviceTokenCookieName); err == nil {
|
||||
token = strings.TrimSpace(value)
|
||||
}
|
||||
}
|
||||
|
||||
return deviceID, token
|
||||
}
|
||||
|
||||
func (h *HTTPHandler) authenticatedDeviceID(c *gin.Context) string {
|
||||
value, ok := c.Get("device_id")
|
||||
if !ok {
|
||||
|
||||
Reference in New Issue
Block a user