12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package user
- import (
- "encoding/json"
- "code.google.com/p/goauth2/oauth"
- "github.com/gogits/gogs/modules/log"
- "github.com/gogits/gogs/modules/oauth2"
- )
- func SocialSignIn(tokens oauth2.Tokens) {
- transport := &oauth.Transport{}
- transport.Token = &oauth.Token{
- AccessToken: tokens.Access(),
- RefreshToken: tokens.Refresh(),
- Expiry: tokens.ExpiryTime(),
- Extra: tokens.ExtraData(),
- }
-
-
- type GithubUser struct {
- Id int `json:"id"`
- Name string `json:"login"`
- Email string `json:"email"`
- }
-
- scope := "https://api.github.com/user"
- r, err := transport.Client().Get(scope)
- if err != nil {
- log.Error("connect with github error: %s", err)
-
- 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)
-
- }
|