Display a form to create an Opengist account coming from a OAuth provider (#623)
هذا الالتزام موجود في:
@@ -199,6 +199,17 @@ func inMFASession(next Handler) Handler {
|
||||
}
|
||||
}
|
||||
|
||||
func inOAuthRegisterSession(next Handler) Handler {
|
||||
return func(ctx *context.Context) error {
|
||||
sess := ctx.GetSession()
|
||||
_, ok := sess.Values["oauthProvider"].(string)
|
||||
if !ok {
|
||||
return ctx.RedirectTo("/login")
|
||||
}
|
||||
return next(ctx)
|
||||
}
|
||||
}
|
||||
|
||||
func makeCheckRequireLogin(isSingleGistAccess bool) Middleware {
|
||||
return func(next Handler) Handler {
|
||||
return func(ctx *context.Context) error {
|
||||
|
||||
@@ -38,6 +38,8 @@ func (s *Server) registerRoutes() {
|
||||
r.GET("/login", auth.Login)
|
||||
r.POST("/login", auth.ProcessLogin)
|
||||
r.GET("/logout", auth.Logout)
|
||||
r.GET("/oauth/register", auth.OauthRegister, inOAuthRegisterSession)
|
||||
r.POST("/oauth/register", auth.ProcessOauthRegister, inOAuthRegisterSession)
|
||||
r.GET("/oauth/:provider", auth.Oauth)
|
||||
r.GET("/oauth/:provider/callback", auth.OauthCallback)
|
||||
r.GET("/oauth/:provider/unlink", auth.OauthUnlink, logged)
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم