]> source.dussan.org Git - gitea.git/commitdiff
clean oauth2 code
authorskyblue <ssx205@gmail.com>
Sat, 12 Apr 2014 01:42:09 +0000 (09:42 +0800)
committerskyblue <ssx205@gmail.com>
Sat, 12 Apr 2014 01:42:09 +0000 (09:42 +0800)
models/oauth2.go
routers/user/social.go
routers/user/user.go
templates/user/signin.tmpl
templates/user/signup.tmpl
web.go

index e50d4039fd45f27f213c08bd6d4259ee9386654b..c5d58c07497ad70f86d474dddf9c7f7f4dc15eb5 100644 (file)
@@ -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
 }
index 8568bc2af83a7e7bc65f8b55ca209aff6c6c4dbe..3e5f69beff4b2e042c4a0afb167bf638e8f2dc62 100644 (file)
@@ -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:
index 253ab7be0020a87598c71ec0779f8e73306c6032..8585267a644f7d64ef56a5736f046f28baf65cb9 100644 (file)
@@ -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("/")
index a06e3ca8a03cc4f6b153f6d8bad1bd9c5f1a655c..6ccad79e73fcb06bb7fb870bba884826bb091949 100644 (file)
@@ -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>
             </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" .}}
index b12333a257a95bb81423ede19ece24f788d840b0..6cf48a4d80044f64cac708b150b148eebc314cbc 100644 (file)
@@ -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>
 
diff --git a/web.go b/web.go
index b2be73d677f829540693011146d4a56e92167df3..e7b048bcd3220ec35449bbb824de8f47da176203 100644 (file)
--- a/web.go
+++ b/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{