| 123456789101112131415161718192021222324252627282930313233343536373839 | package modelsimport "fmt"// OT: Oauth2 Typeconst (	OT_GITHUB = iota + 1	OT_GOOGLE	OT_TWITTER)type Oauth2 struct {	Uid      int64  `xorm:"pk"`               // userId	Type     int    `xorm:"pk unique(oauth)"` // twitter,github,google...	Identity string `xorm:"pk unique(oauth)"` // id..	Token    string `xorm:"VARCHAR(200) not null"`	//RefreshTime time.Time `xorm:"created"`}func AddOauth2(oa *Oauth2) (err error) {	if _, err = orm.Insert(oa); err != nil {		return err	}	return nil}func GetOauth2User(identity string) (u *User, err error) {	oa := &Oauth2{}	oa.Identity = identity	exists, err := orm.Get(oa)	if err != nil {		return	}	if !exists {		err = fmt.Errorf("not exists oauth2: %s", identity)		return	}	return GetUserById(oa.Uid)}
 |