change hoew viewtokens are aqcuired

This commit is contained in:
Wim Brand
2020-02-21 14:32:06 +01:00
parent 9cfe675d16
commit 1107ecbdad
2 changed files with 8 additions and 11 deletions

View File

@@ -17,15 +17,12 @@ func (wc *WebController) serveAdClick(w http.ResponseWriter, r *http.Request, p
api := pixelapi.New(wc.apiURLInternal) api := pixelapi.New(wc.apiURLInternal)
// Get the view token without authentication // The Real IP is used in the API server to determine that the view is not
vt := viewTokenOrBust(api) // fake
// Apply authentication and register the view
api.APIKey, _ = wc.getAPIKey(r)
api.RealIP = util.RemoteAddress(r) api.RealIP = util.RemoteAddress(r)
// Log a view on the file // Log a view on the file
if err := api.PostFileView(p.ByName("id"), vt); err != nil { if err := api.PostFileView(p.ByName("id"), wc.viewTokenOrBust()); err != nil {
log.Warn("Failed to log view") log.Warn("Failed to log view")
} }
} }

View File

@@ -16,9 +16,9 @@ import (
"github.com/julienschmidt/httprouter" "github.com/julienschmidt/httprouter"
) )
func viewTokenOrBust(api *pixelapi.PixelAPI) (t string) { func (wc *WebController) viewTokenOrBust() (t string) {
var err error var err error
if t, err = api.GetMiscViewToken(); err != nil { if t, err = wc.systemPixelAPI.GetMiscViewToken(); err != nil {
log.Error("Could not get viewtoken: %s", err) log.Error("Could not get viewtoken: %s", err)
} }
return t return t
@@ -68,7 +68,7 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
templateData.Other = viewerData{ templateData.Other = viewerData{
Type: "list", Type: "list",
CaptchaKey: wc.captchaKey(), CaptchaKey: wc.captchaKey(),
ViewToken: viewTokenOrBust(wc.systemPixelAPI), ViewToken: wc.viewTokenOrBust(),
APIResponse: pixelapi.List{ APIResponse: pixelapi.List{
Success: true, Success: true,
Title: "Multiple files", Title: "Multiple files",
@@ -81,7 +81,7 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
templateData.Other = viewerData{ templateData.Other = viewerData{
Type: "file", Type: "file",
CaptchaKey: wc.captchaKey(), CaptchaKey: wc.captchaKey(),
ViewToken: viewTokenOrBust(wc.systemPixelAPI), ViewToken: wc.viewTokenOrBust(),
APIResponse: finfo[0].FileInfo, APIResponse: finfo[0].FileInfo,
} }
} }
@@ -143,7 +143,7 @@ func (wc *WebController) serveListViewer(w http.ResponseWriter, r *http.Request,
templateData.Other = viewerData{ templateData.Other = viewerData{
Type: "list", Type: "list",
CaptchaKey: wc.captchaSiteKey, CaptchaKey: wc.captchaSiteKey,
ViewToken: viewTokenOrBust(wc.systemPixelAPI), ViewToken: wc.viewTokenOrBust(),
APIResponse: list, APIResponse: list,
} }