Browse Source

split into social.go

skyblue 11 năm trước cách đây
mục cha
commit
5180506678
2 tập tin đã thay đổi với 49 bổ sung40 xóa
  1. 49 0
      routers/user/social.go
  2. 0 40
      routers/user/user.go

+ 49 - 0
routers/user/social.go

@@ -0,0 +1,49 @@
+// Copyright 2014 The Gogs Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+package user
+
+import (
+	"encoding/json"
+
+	"code.google.com/p/goauth2/oauth"
+	"github.com/gogits/gogs/modules/log"
+	"github.com/martini-contrib/oauth2"
+)
+
+// github && google && ...
+func SocialSignIn(tokens oauth2.Tokens) {
+	transport := &oauth.Transport{}
+	transport.Token = &oauth.Token{
+		AccessToken:  tokens.Access(),
+		RefreshToken: tokens.Refresh(),
+		Expiry:       tokens.ExpiryTime(),
+		Extra:        tokens.ExtraData(),
+	}
+
+	// Github API refer: https://developer.github.com/v3/users/
+	// FIXME: need to judge url
+	type GithubUser struct {
+		Id    int    `json:"id"`
+		Name  string `json:"login"`
+		Email string `json:"email"`
+	}
+
+	// Make the request.
+	scope := "https://api.github.com/user"
+	r, err := transport.Client().Get(scope)
+	if err != nil {
+		log.Error("connect with github error: %s", err)
+		// FIXME: handle error page
+		return
+	}
+	defer r.Body.Close()
+
+	user := &GithubUser{}
+	err = json.NewDecoder(r.Body).Decode(user)
+	if err != nil {
+		log.Error("Get: %s", err)
+	}
+	log.Info("login: %s", user.Name)
+	// FIXME: login here, user email to check auth, if not registe, then generate a uniq username
+}

+ 0 - 40
routers/user/user.go

@@ -5,14 +5,11 @@
 package user
 
 import (
-	"encoding/json"
 	"fmt"
 	"net/url"
 	"strings"
-	"code.google.com/p/goauth2/oauth"
 
 	"github.com/go-martini/martini"
-	"github.com/martini-contrib/oauth2"
 
 	"github.com/gogits/gogs/models"
 	"github.com/gogits/gogs/modules/auth"
@@ -77,43 +74,6 @@ func Profile(ctx *middleware.Context, params martini.Params) {
 	ctx.HTML(200, "user/profile")
 }
 
-// github && google && ...
-func SocialSignIn(tokens oauth2.Tokens) {
-	transport := &oauth.Transport{}
-	transport.Token = &oauth.Token{
-		AccessToken:  tokens.Access(),
-		RefreshToken: tokens.Refresh(),
-		Expiry:       tokens.ExpiryTime(),
-		Extra:        tokens.ExtraData(),
-	}
-
-	// Github API refer: https://developer.github.com/v3/users/
-	// FIXME: need to judge url
-	type GithubUser struct {
-		Id    int    `json:"id"`
-		Name  string `json:"login"`
-		Email string `json:"email"`
-	}
-
-	// Make the request.
-	scope := "https://api.github.com/user"
-	r, err := transport.Client().Get(scope)
-	if err != nil {
-		log.Error("connect with github error: %s", err)
-		// FIXME: handle error page
-		return
-	}
-	defer r.Body.Close()
-
-	user := &GithubUser{}
-	err = json.NewDecoder(r.Body).Decode(user)
-	if err != nil {
-		log.Error("Get: %s", err)
-	}
-	log.Info("login: %s", user.Name)
-	// FIXME: login here, user email to check auth, if not registe, then generate a uniq username
-}
-
 func SignIn(ctx *middleware.Context, form auth.LogInForm) {
 	ctx.Data["Title"] = "Log In"