@@ -91,6 +91,20 @@ func SetUser(c echo.Context, user *User) error {
9191 return nil
9292}
9393
94+ func ClearUser (c echo.Context ) error {
95+ err := clearAccessToken (c )
96+ if err != nil {
97+ return err
98+ }
99+
100+ err = clearIDToken (c )
101+ if err != nil {
102+ return err
103+ }
104+
105+ return nil
106+ }
107+
94108func ValidateAuth (c echo.Context , cfgProvider * config.ConfigProviderWithRefresh ) error {
95109 cfg , err := cfgProvider .GetConfig ()
96110 if err != nil {
@@ -162,6 +176,23 @@ func setAccessToken(c echo.Context, token string) error {
162176 return nil
163177}
164178
179+ func clearAccessToken (c echo.Context ) error {
180+ sess , _ := session .Get (AuthCookie , c )
181+ sess .Options = & sessions.Options {
182+ Path : "/" ,
183+ MaxAge : - 1 ,
184+ HttpOnly : true ,
185+ SameSite : http .SameSiteStrictMode ,
186+ Secure : true ,
187+ }
188+ err := sess .Save (c .Request (), c .Response ())
189+ if err != nil {
190+ return err
191+ }
192+
193+ return nil
194+ }
195+
165196func getAuthorizationExtras (c echo.Context ) string {
166197 sess , _ := session .Get (AuthExtrasCookie , c )
167198 if sess == nil {
@@ -192,3 +223,20 @@ func setIDToken(c echo.Context, idToken *IDToken) error {
192223
193224 return nil
194225}
226+
227+ func clearIDToken (c echo.Context ) error {
228+ sess , _ := session .Get (AuthExtrasCookie , c )
229+ sess .Options = & sessions.Options {
230+ Path : "/" ,
231+ MaxAge : - 1 ,
232+ HttpOnly : true ,
233+ SameSite : http .SameSiteStrictMode ,
234+ Secure : true ,
235+ }
236+ err := sess .Save (c .Request (), c .Response ())
237+ if err != nil {
238+ return err
239+ }
240+
241+ return nil
242+ }
0 commit comments