mirror of
https://github.com/janishutz/oidclogin.git
synced 2026-10-08 17:26:20 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9245fd20f | ||
|
|
996f4959fb | ||
|
|
6fb820d6af |
No files matched your search
@@ -112,6 +112,7 @@ func callbackHandler(c *gin.Context) {
|
||||
session.Delete("redirect")
|
||||
|
||||
session.Set("jhid_auth", true)
|
||||
session.Set("jhid_uid", claims.Uid)
|
||||
session.Save()
|
||||
|
||||
if redir != nil {
|
||||
@@ -125,6 +126,8 @@ func EnsureLogin(redirectFail bool) func(c *gin.Context) {
|
||||
return (func(c *gin.Context) {
|
||||
session := sessions.Default(c)
|
||||
if session.Get("jhid_auth") == true {
|
||||
// Set the UID on the context
|
||||
c.Set("uid", session.Get("jhid_uid").(string))
|
||||
c.Next()
|
||||
} else {
|
||||
if redirectFail {
|
||||
|
||||
@@ -61,6 +61,7 @@ func Configure(r *gin.Engine, app_url string, default_redirect string, stubs_on_
|
||||
|
||||
r.GET("/auth/v2/login", loginHandler)
|
||||
r.GET("/auth/v2/verify", callbackHandler)
|
||||
r.GET("/auth/v2/check", EnsureLogin(false), func(ctx *gin.Context) { ctx.JSON(200, gin.H{"success": "true"}) })
|
||||
|
||||
log.Println("[JHID] Configured successfully")
|
||||
}
|
||||
|
||||
@@ -1,22 +1,26 @@
|
||||
package oidclogin
|
||||
|
||||
import "github.com/gin-gonic/gin"
|
||||
import (
|
||||
"github.com/gin-contrib/sessions"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func startStubs(r *gin.Engine) {
|
||||
r.GET("/auth/v2/login", func(ctx *gin.Context) {
|
||||
redir := ctx.Query("returnTo")
|
||||
if redir != "" {
|
||||
ctx.Redirect(307, redir)
|
||||
} else {
|
||||
ctx.Redirect(307, defaultRedirect)
|
||||
}
|
||||
})
|
||||
r.GET("/auth/v2/verify", func(ctx *gin.Context) {
|
||||
redir := ctx.Query("returnTo")
|
||||
if redir != "" {
|
||||
ctx.Redirect(307, redir)
|
||||
} else {
|
||||
ctx.Redirect(307, defaultRedirect)
|
||||
}
|
||||
})
|
||||
r.GET("/auth/v2/login", stubsHandler)
|
||||
r.GET("/auth/v2/verify", stubsHandler)
|
||||
r.GET("/auth/v2/check", EnsureLogin(false), func(ctx *gin.Context) { ctx.JSON(200, gin.H{"success": "true"}) })
|
||||
}
|
||||
|
||||
func stubsHandler(c *gin.Context) {
|
||||
redir := c.Query("returnTo")
|
||||
session := sessions.Default(c)
|
||||
userFunc("stubs", "Stubs User", "example@example.com")
|
||||
session.Set("jhid_auth", true)
|
||||
session.Set("jhid_uid", "stubs")
|
||||
session.Save()
|
||||
if redir != "" {
|
||||
c.Redirect(307, redir)
|
||||
} else {
|
||||
c.Redirect(307, defaultRedirect)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user