mirror of
https://github.com/janishutz/oidclogin.git
synced 2026-10-08 17:26:20 +02:00
41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package oidclogin
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/gin-contrib/sessions"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func startStubs(r *gin.Engine, check_middleware func(c *gin.Context)) {
|
|
r.GET("/auth/v2/login", stubsHandler)
|
|
r.GET("/auth/v2/verify", stubsHandler)
|
|
if check_middleware == nil {
|
|
r.GET("/auth/v2/check", EnsureLogin(false), check_finalizer)
|
|
} else {
|
|
log.Println("[JHID] Custom check middleware enabled")
|
|
r.GET("/auth/v2/check", EnsureLogin(false), check_middleware, check_finalizer)
|
|
}
|
|
r.GET("/auth/v2/logout", logoutHandler)
|
|
}
|
|
|
|
func stubsHandler(c *gin.Context) {
|
|
redir := c.Query("returnTo")
|
|
session := sessions.Default(c)
|
|
if userFunc != nil {
|
|
userFunc("stubs", "Stubs User", "example@example.com")
|
|
} else {
|
|
log.Println("[JHID] WARNING: No user function defined")
|
|
}
|
|
session.Set("jhid_auth", true)
|
|
session.Set("jhid_uid", "stubs")
|
|
session.Save()
|
|
if redir != "" {
|
|
log.Println("[JHID] Redirecting to ", redir)
|
|
c.Redirect(307, redir)
|
|
} else {
|
|
log.Println("[JHID] Redirecting to ", defaultRedirect, " (default redirect)")
|
|
c.Redirect(307, defaultRedirect)
|
|
}
|
|
}
|