Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
ef803483
Commit
ef803483
authored
Feb 05, 2022
by
email
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: get session handler
parent
6f8ab0f3
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
13 deletions
+7
-13
basic_auth.go
server/basic_auth.go
+5
-12
server.go
server/server.go
+2
-1
No files found.
server/basic_auth.go
View file @
ef803483
...
...
@@ -20,19 +20,15 @@ func getUserIdContextKey() string {
return
userIdContextKey
}
// Purpose of this cookie is to store the user's id.
func
setUserSession
(
c
echo
.
Context
,
user
*
api
.
User
)
error
{
sess
,
err
:=
session
.
Get
(
"session"
,
c
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to get session, err: %w"
,
err
)
}
sess
,
_
:=
session
.
Get
(
"session"
,
c
)
sess
.
Options
=
&
sessions
.
Options
{
Path
:
"/"
,
MaxAge
:
1000
*
3600
*
24
*
30
,
HttpOnly
:
true
,
}
sess
.
Values
[
userIdContextKey
]
=
user
.
Id
err
=
sess
.
Save
(
c
.
Request
(),
c
.
Response
())
err
:
=
sess
.
Save
(
c
.
Request
(),
c
.
Response
())
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to set session, err: %w"
,
err
)
}
...
...
@@ -41,17 +37,14 @@ func setUserSession(c echo.Context, user *api.User) error {
}
func
removeUserSession
(
c
echo
.
Context
)
error
{
sess
,
err
:=
session
.
Get
(
"session"
,
c
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to get session, err: %w"
,
err
)
}
sess
,
_
:=
session
.
Get
(
"session"
,
c
)
sess
.
Options
=
&
sessions
.
Options
{
Path
:
"/"
,
MaxAge
:
0
,
HttpOnly
:
true
,
}
sess
.
Values
[
userIdContextKey
]
=
nil
err
=
sess
.
Save
(
c
.
Request
(),
c
.
Response
())
err
:
=
sess
.
Save
(
c
.
Request
(),
c
.
Response
())
if
err
!=
nil
{
return
fmt
.
Errorf
(
"failed to set session, err: %w"
,
err
)
}
...
...
@@ -59,7 +52,7 @@ func removeUserSession(c echo.Context) error {
return
nil
}
// Use session
in the initial version
// Use session
to store user.id.
func
BasicAuthMiddleware
(
us
api
.
UserService
,
next
echo
.
HandlerFunc
)
echo
.
HandlerFunc
{
return
func
(
c
echo
.
Context
)
error
{
// Skips auth
...
...
server/server.go
View file @
ef803483
...
...
@@ -5,6 +5,7 @@ import (
"memos/api"
"time"
"github.com/gorilla/securecookie"
"github.com/gorilla/sessions"
"github.com/labstack/echo-contrib/session"
"github.com/labstack/echo/v4"
...
...
@@ -45,7 +46,7 @@ func NewServer(port int) *Server {
HTML5
:
true
,
}))
e
.
Use
(
session
.
Middleware
(
sessions
.
NewCookieStore
([]
byte
(
"just_memos"
))))
e
.
Use
(
session
.
Middleware
(
sessions
.
NewCookieStore
([]
byte
(
securecookie
.
GenerateRandomKey
(
16
)
))))
s
:=
&
Server
{
e
:
e
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment