mirror of
https://github.com/usememos/memos.git
synced 2025-03-30 10:30:15 +02:00
feat: const session secret key in dev
This commit is contained in:
parent
8f76120e4e
commit
1cebf1dbd0
@ -37,7 +37,7 @@ func (m *Main) Run() error {
|
|||||||
|
|
||||||
m.db = db
|
m.db = db
|
||||||
|
|
||||||
s := server.NewServer(m.profile.port)
|
s := server.NewServer(m.profile.port, m.profile.mode)
|
||||||
|
|
||||||
s.ShortcutService = store.NewShortcutService(db)
|
s.ShortcutService = store.NewShortcutService(db)
|
||||||
s.MemoService = store.NewMemoService(db)
|
s.MemoService = store.NewMemoService(db)
|
||||||
|
@ -23,7 +23,7 @@ type Server struct {
|
|||||||
port int
|
port int
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewServer(port int) *Server {
|
func NewServer(port int, mode string) *Server {
|
||||||
e := echo.New()
|
e := echo.New()
|
||||||
e.Debug = true
|
e.Debug = true
|
||||||
e.HideBanner = true
|
e.HideBanner = true
|
||||||
@ -46,7 +46,11 @@ func NewServer(port int) *Server {
|
|||||||
HTML5: true,
|
HTML5: true,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
e.Use(session.Middleware(sessions.NewCookieStore([]byte(securecookie.GenerateRandomKey(16)))))
|
secret := []byte("justmemos")
|
||||||
|
if mode != "dev" {
|
||||||
|
secret = securecookie.GenerateRandomKey(16)
|
||||||
|
}
|
||||||
|
e.Use(session.Middleware(sessions.NewCookieStore(secret)))
|
||||||
|
|
||||||
s := &Server{
|
s := &Server{
|
||||||
e: e,
|
e: e,
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (s *Server) registerUserRoutes(g *echo.Group) {
|
func (s *Server) registerUserRoutes(g *echo.Group) {
|
||||||
|
// GET /api/user/me is used to check if the user is logged in.
|
||||||
g.GET("/user/me", func(c echo.Context) error {
|
g.GET("/user/me", func(c echo.Context) error {
|
||||||
// /api/user/me is used to check if the user is logged in,
|
|
||||||
userSessionId := c.Get(getUserIdContextKey())
|
userSessionId := c.Get(getUserIdContextKey())
|
||||||
if userSessionId == nil {
|
if userSessionId == nil {
|
||||||
return echo.NewHTTPError(http.StatusUnauthorized, "Missing session")
|
return echo.NewHTTPError(http.StatusUnauthorized, "Missing session")
|
||||||
|
@ -103,9 +103,8 @@ func (s *Server) registerWebhookRoutes(g *echo.Group) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
c.Response().Writer.WriteHeader(http.StatusOK)
|
c.Response().Writer.WriteHeader(http.StatusOK)
|
||||||
c.Response().Writer.Header().Set("Content-Type", "application/octet-stream")
|
c.Response().Writer.Header().Set("Content-Type", resource.Type)
|
||||||
c.Response().Writer.Write(resource.Blob)
|
c.Response().Writer.Write(resource.Blob)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { useContext } from "react";
|
import { useContext } from "react";
|
||||||
import appContext from "../stores/appContext";
|
import appContext from "../stores/appContext";
|
||||||
import { globalStateService, memoService } from "../services";
|
import { globalStateService, memoService } from "../services";
|
||||||
import { parseHtmlToRawText } from "../helpers/marked";
|
|
||||||
import { formatMemoContent } from "./Memo";
|
import { formatMemoContent } from "./Memo";
|
||||||
import "../less/preferences-section.less";
|
import "../less/preferences-section.less";
|
||||||
|
|
||||||
@ -49,13 +48,6 @@ const PreferencesSection: React.FC<Props> = () => {
|
|||||||
document.body.removeChild(element);
|
document.body.removeChild(element);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleFormatMemosBtnClick = async () => {
|
|
||||||
const memos = memoService.getState().memos;
|
|
||||||
for (const m of memos) {
|
|
||||||
memoService.updateMemo(m.id, parseHtmlToRawText(m.content));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="section-container preferences-section-container">
|
<div className="section-container preferences-section-container">
|
||||||
@ -83,9 +75,6 @@ const PreferencesSection: React.FC<Props> = () => {
|
|||||||
<button className="px-2 py-1 border rounded text-base hover:opacity-80" onClick={handleExportBtnClick}>
|
<button className="px-2 py-1 border rounded text-base hover:opacity-80" onClick={handleExportBtnClick}>
|
||||||
Export data as JSON
|
Export data as JSON
|
||||||
</button>
|
</button>
|
||||||
<button className="btn format-btn hidden" onClick={handleFormatMemosBtnClick}>
|
|
||||||
Format Data
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user