mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Merge branch 'dev' of github.com:gogits/gogs into dev
This commit is contained in:
		@@ -6,8 +6,6 @@ package models
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
 | 
			
		||||
	"github.com/gogits/gogs/modules/log"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// OT: Oauth2 Type
 | 
			
		||||
@@ -20,7 +18,6 @@ const (
 | 
			
		||||
var (
 | 
			
		||||
	ErrOauth2RecordNotExists       = errors.New("not exists oauth2 record")
 | 
			
		||||
	ErrOauth2NotAssociatedWithUser = errors.New("not associated with user")
 | 
			
		||||
	ErrOauth2NotExist              = errors.New("not exist oauth2")
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type Oauth2 struct {
 | 
			
		||||
@@ -61,12 +58,11 @@ func GetOauth2(identity string) (oa *Oauth2, err error) {
 | 
			
		||||
func GetOauth2ById(id int64) (oa *Oauth2, err error) {
 | 
			
		||||
	oa = new(Oauth2)
 | 
			
		||||
	has, err := orm.Id(id).Get(oa)
 | 
			
		||||
	log.Info("oa: %v", oa)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if !has {
 | 
			
		||||
		return nil, ErrOauth2NotExist
 | 
			
		||||
		return nil, ErrOauth2RecordNotExists
 | 
			
		||||
	}
 | 
			
		||||
	return oa, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@ import (
 | 
			
		||||
	"github.com/gogits/gogs/modules/base"
 | 
			
		||||
	"github.com/gogits/gogs/modules/log"
 | 
			
		||||
	"github.com/gogits/gogs/modules/middleware"
 | 
			
		||||
	"github.com/gogits/gogs/modules/oauth2"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type SocialConnector interface {
 | 
			
		||||
@@ -77,7 +76,10 @@ func extractPath(next string) string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// github && google && ...
 | 
			
		||||
func SocialSignIn(ctx *middleware.Context, tokens oauth2.Tokens) {
 | 
			
		||||
func SocialSignIn(ctx *middleware.Context) {
 | 
			
		||||
	//if base.OauthService != nil && base.OauthService.GitHub.Enabled {
 | 
			
		||||
	//}
 | 
			
		||||
 | 
			
		||||
	var socid int64
 | 
			
		||||
	var ok bool
 | 
			
		||||
	next := extractPath(ctx.Query("next"))
 | 
			
		||||
@@ -142,9 +144,9 @@ func SocialSignIn(ctx *middleware.Context, tokens oauth2.Tokens) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
	case models.ErrOauth2NotAssociatedWithUser:
 | 
			
		||||
		ctx.Session.Set("socialId", oa.Id)
 | 
			
		||||
		ctx.Session.Set("socialName", soc.Name())
 | 
			
		||||
		ctx.Session.Set("socialEmail", soc.Email())
 | 
			
		||||
		ctx.Session.Set("socialId", oa.Id)
 | 
			
		||||
		ctx.Redirect("/user/sign_up")
 | 
			
		||||
		return
 | 
			
		||||
	default:
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,6 @@ func SignIn(ctx *middleware.Context) {
 | 
			
		||||
		ctx.Data["OauthGitHubEnabled"] = base.OauthService.GitHub.Enabled
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var user *models.User
 | 
			
		||||
	// Check auto-login.
 | 
			
		||||
	userName := ctx.GetCookie(base.CookieUserName)
 | 
			
		||||
	if len(userName) == 0 {
 | 
			
		||||
@@ -91,7 +90,6 @@ func SignIn(ctx *middleware.Context) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	isSucceed := false
 | 
			
		||||
	var err error
 | 
			
		||||
	defer func() {
 | 
			
		||||
		if !isSucceed {
 | 
			
		||||
			log.Trace("%s auto-login cookie cleared: %s", ctx.Req.RequestURI, userName)
 | 
			
		||||
@@ -101,7 +99,7 @@ func SignIn(ctx *middleware.Context) {
 | 
			
		||||
		}
 | 
			
		||||
	}()
 | 
			
		||||
 | 
			
		||||
	user, err = models.GetUserByName(userName)
 | 
			
		||||
	user, err := models.GetUserByName(userName)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		ctx.HTML(500, "user/signin")
 | 
			
		||||
		return
 | 
			
		||||
@@ -181,6 +179,8 @@ func SignOut(ctx *middleware.Context) {
 | 
			
		||||
	ctx.Session.Delete("userId")
 | 
			
		||||
	ctx.Session.Delete("userName")
 | 
			
		||||
	ctx.Session.Delete("socialId")
 | 
			
		||||
	ctx.Session.Delete("socialName")
 | 
			
		||||
	ctx.Session.Delete("socialEmail")
 | 
			
		||||
	ctx.SetCookie(base.CookieUserName, "", -1)
 | 
			
		||||
	ctx.SetCookie(base.CookieRememberName, "", -1)
 | 
			
		||||
	ctx.Redirect("/")
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,15 @@
 | 
			
		||||
<div class="container" id="body" data-page="user-signin">
 | 
			
		||||
    <form action="/user/login" method="post" class="form-horizontal card" id="login-card">
 | 
			
		||||
        {{.CsrfTokenHtml}}
 | 
			
		||||
        <h3>Log in</h3>
 | 
			
		||||
        <h3>Log in
 | 
			
		||||
        {{if .OauthEnabled}}
 | 
			
		||||
            <small class="pull-right">social login: 
 | 
			
		||||
            {{if .OauthGitHubEnabled}}
 | 
			
		||||
                <a href="/user/login/github?next=/user/sign_up"><i class="fa fa-github-square fa-2x"></i></a>
 | 
			
		||||
            {{end}}
 | 
			
		||||
            </small>
 | 
			
		||||
        {{end}}
 | 
			
		||||
        </h3>
 | 
			
		||||
        {{template "base/alert" .}}
 | 
			
		||||
        <div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
 | 
			
		||||
            <label class="col-md-4 control-label">Username: </label>
 | 
			
		||||
@@ -43,12 +51,12 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        {{if .OauthEnabled}}
 | 
			
		||||
      <!--   {{if .OauthEnabled}}
 | 
			
		||||
        <div class="form-group text-center" id="social-login">
 | 
			
		||||
            <h4>Log In with Social Accounts</h4>
 | 
			
		||||
            {{if .OauthGitHubEnabled}}<a href="/user/login/github?next=/user/sign_up"><i class="fa fa-github-square fa-3x"></i></a>{{end}}
 | 
			
		||||
        </div>
 | 
			
		||||
        {{end}}
 | 
			
		||||
        {{end}} -->
 | 
			
		||||
    </form>
 | 
			
		||||
</div>
 | 
			
		||||
{{template "base/footer" .}}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,8 +12,6 @@
 | 
			
		||||
			<h3>Sign Up</h3>
 | 
			
		||||
		{{end}}
 | 
			
		||||
	    {{template "base/alert" .}}
 | 
			
		||||
		{{if .IsSocialLogin}}
 | 
			
		||||
		{{end}}
 | 
			
		||||
		<div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
 | 
			
		||||
			<label class="col-md-4 control-label">Username: </label>
 | 
			
		||||
			<div class="col-md-6">
 | 
			
		||||
@@ -23,7 +21,7 @@
 | 
			
		||||
		<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
 | 
			
		||||
			<label class="col-md-4 control-label">Email: </label>
 | 
			
		||||
			<div class="col-md-6">
 | 
			
		||||
				<input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}{{.socialEmail}}" required="required" title="Email is not valid">
 | 
			
		||||
				<input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}" required="required" title="Email is not valid">
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								web.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								web.go
									
									
									
									
									
								
							@@ -20,7 +20,6 @@ import (
 | 
			
		||||
	"github.com/gogits/gogs/modules/base"
 | 
			
		||||
	"github.com/gogits/gogs/modules/log"
 | 
			
		||||
	"github.com/gogits/gogs/modules/middleware"
 | 
			
		||||
	"github.com/gogits/gogs/modules/oauth2"
 | 
			
		||||
	"github.com/gogits/gogs/routers"
 | 
			
		||||
	"github.com/gogits/gogs/routers/admin"
 | 
			
		||||
	"github.com/gogits/gogs/routers/api/v1"
 | 
			
		||||
@@ -59,17 +58,6 @@ func runWeb(*cli.Context) {
 | 
			
		||||
	m.Use(middleware.Renderer(middleware.RenderOptions{Funcs: []template.FuncMap{base.TemplateFuncs}}))
 | 
			
		||||
	m.Use(middleware.InitContext())
 | 
			
		||||
 | 
			
		||||
	if base.OauthService != nil {
 | 
			
		||||
		if base.OauthService.GitHub.Enabled {
 | 
			
		||||
			m.Use(oauth2.Github(&oauth2.Options{
 | 
			
		||||
				ClientId:     base.OauthService.GitHub.ClientId,
 | 
			
		||||
				ClientSecret: base.OauthService.GitHub.ClientSecret,
 | 
			
		||||
				RedirectURL:  base.AppUrl + oauth2.PathCallback[1:],
 | 
			
		||||
				Scopes:       []string{base.OauthService.GitHub.Scopes},
 | 
			
		||||
			}))
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	reqSignIn := middleware.Toggle(&middleware.ToggleOptions{SignInRequire: true})
 | 
			
		||||
	ignSignIn := middleware.Toggle(&middleware.ToggleOptions{SignInRequire: base.Service.RequireSignInView})
 | 
			
		||||
	ignSignInAndCsrf := middleware.Toggle(&middleware.ToggleOptions{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user