Documentation
¶
Index ¶
- func ParseAccessTokenForQq(source string) (string, string, int)
- func ParseOpenIdForQq(source string) string
- func ParseUnionIdForQq(source string) string
- type IOauth
- type Oauth
- type OauthQq
- func (s *OauthQq) GetAccessToken(code string) (*OauthToken, error)
- func (s *OauthQq) GetAuthorizeUrl(args ...string) string
- func (s *OauthQq) GetOpenId(accessToken string) (string, error)
- func (s *OauthQq) GetUnionId(accessToken string) (string, error)
- func (s *OauthQq) GetUserInfo(accessToken, openId string) (*OauthUser, error)
- func (s *OauthQq) RefreshAccessToken(refreshToken string) (*OauthToken, error)
- func (s *OauthQq) SetUri(uriType OauthUriType, uri string)
- type OauthState
- type OauthToken
- type OauthUriType
- type OauthUser
- type OauthWeChat
- func (s *OauthWeChat) GetAccessToken(code string) (*OauthToken, error)
- func (s *OauthWeChat) GetAuthorizeUrl(args ...string) string
- func (s *OauthWeChat) GetUserInfo(accessToken, openId string) (*OauthUser, error)
- func (s *OauthWeChat) RefreshAccessToken(refreshToken string) (*OauthToken, error)
- func (s *OauthWeChat) SetUri(uriType OauthUriType, uri string)
- type QqUserInfoResponse
- type WeChatAccessTokenResponse
- type WeChatUserInfoResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseAccessTokenForQq ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 解析QQ返回的AccessToken * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func ParseOpenIdForQq ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 解析QQ返回的OpenId * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func ParseUnionIdForQq ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 解析QQ返回的UnionId * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Types ¶
type IOauth ¶
type IOauth interface {
SetUri(uriType OauthUriType, uri string)
GetAuthorizeUrl(args ...string) string
GetAccessToken(code string) (*OauthToken, error)
RefreshAccessToken(refreshToken string) (*OauthToken, error)
GetUserInfo(accessToken, openId string) (*OauthUser, error)
}
type OauthQq ¶
type OauthQq struct {
Oauth
}
================================================================================ * Oauth Qq * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
func (*OauthQq) GetAccessToken ¶
func (s *OauthQq) GetAccessToken(code string) (*OauthToken, error)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取AccessToken * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) GetAuthorizeUrl ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取鉴权地址 * args: state, scope * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) GetOpenId ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取OpenId * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) GetUnionId ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取UnionId * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) GetUserInfo ¶
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取用户信息 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) RefreshAccessToken ¶
func (s *OauthQq) RefreshAccessToken(refreshToken string) (*OauthToken, error)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 刷新AccessToken * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthQq) SetUri ¶
func (s *OauthQq) SetUri(uriType OauthUriType, uri string)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 设置Uri * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
type OauthState ¶
type OauthState struct {
// contains filtered or unexported fields
}
================================================================================ * Oauth State * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
func NewOauthState ¶
func NewOauthState(encryptKey string, minutes int) *OauthState
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 初始化OauthState * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthState) GetState ¶
func (s *OauthState) GetState() string
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取状态值 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthState) IsValid ¶
func (s *OauthState) IsValid(rawState string) bool
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 判断状态值是否有效 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
type OauthToken ¶
type OauthToken struct {
AccessToken string
RefreshToken string
OpenId string
UnionId string
ExpiresIn int
Scope string
}
================================================================================ * Oauth Token * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
type OauthUriType ¶
type OauthUriType int
const ( AuthorizeCodeUri OauthUriType = iota AccessTokenUri RefreshTokenUri OpenIdUri UserInfoUri )
================================================================================ * Oauth * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
type OauthWeChat ¶
type OauthWeChat struct {
Oauth
}
================================================================================ * Oauth WeChat * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
func (*OauthWeChat) GetAccessToken ¶
func (s *OauthWeChat) GetAccessToken(code string) (*OauthToken, error)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取AccessToken * { * "access_token":"ACCESS_TOKEN", * "expires_in":7200, * "refresh_token":"REFRESH_TOKEN", * "openid":"OPENID", * "scope":"SCOPE" * } * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthWeChat) GetAuthorizeUrl ¶
func (s *OauthWeChat) GetAuthorizeUrl(args ...string) string
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取鉴权地址 * state, scope * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthWeChat) GetUserInfo ¶
func (s *OauthWeChat) GetUserInfo(accessToken, openId string) (*OauthUser, error)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 获取用户信息 * { * "openid":"OPENID", * "nickname":"NICKNAME", * "sex":1, * "province":"PROVINCE", * "city":"CITY", * "country":"COUNTRY", * "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", * "privilege":[ * "PRIVILEGE1", * "PRIVILEGE2" * ], * "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" * } * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthWeChat) RefreshAccessToken ¶
func (s *OauthWeChat) RefreshAccessToken(refreshToken string) (*OauthToken, error)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 刷新AccessToken * { * "access_token":"ACCESS_TOKEN", * "expires_in":7200, * "refresh_token":"REFRESH_TOKEN", * "openid":"OPENID", * "scope":"SCOPE" * } * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
func (*OauthWeChat) SetUri ¶
func (s *OauthWeChat) SetUri(uriType OauthUriType, uri string)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 设置Uri * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
type QqUserInfoResponse ¶
type QqUserInfoResponse struct {
Ret int `form:"ret" json:"ret"`
Msg string `form:"msg" json:"msg"`
Nickname string `form:"nickname" json:"nickname"` //昵称
Gender string `form:"gender" json:"gender"` //性别。 如果获取不到则默认返回"男"
Year string `form:"year" json:"year"` //出生年
Province string `form:"province" json:"province"` //省
City string `form:"city" json:"city"` //市
FigureUrl string `form:"figureurl" json:"figureurl"` //大小为30×30像素的QQ空间头像URL
FigureUrl1 string `form:"figureurl_1" json:"figureurl_1"` //大小为50×50像素的QQ空间头像URL
FigureUrl2 string `form:"figureurl_2" json:"figureurl_2"` //大小为100×100像素的QQ空间头像URL
FigureUrlQq1 string `form:"figureurl_qq_1" json:"figureurl_qq_1"` //大小为40×40像素的QQ头像URL
FigureUrlQq2 string `form:"figureurl_qq_2" json:"figureurl_qq_2"` //大小为100×100像素的QQ头像URL。需要注意,不是所有的用户都拥有QQ的100x100的头像,但40x40像素则是一定会有
Vip string `form:"vip" json:"vip"` //标识用户是否为黄钻用户(0:不是;1:是)
Level string `form:"level" json:"level"` //黄钻等级
YellowVipLevel string `form:"yellow_vip_level" json:"yellow_vip_level"` //黄钻等级
IsYellowVip string `form:"is_yellow_vip" json:"is_yellow_vip"` //标识用户是否为黄钻用户(0:不是;1:是)
IsYellowYearVip string `form:"is_yellow_year_vip" json:"is_yellow_year_vip"` //标识是否为年费黄钻用户(0:不是; 1:是)
}
================================================================================ * Oauth Qq * qq group: 582452342 * email : 2091938785@qq.com * author : 美丽的地球啊 - mliu * ================================================================================
type WeChatAccessTokenResponse ¶
type WeChatAccessTokenResponse struct {
ErrCode string `form:"errcode" json:"errcode"`
ErrMsg string `form:"errmsg" json:"errmsg"`
OpenId string `form:"openid" json:"openid"`
UnionId string `form:"unionid" json:"unionid"`
AccessToken string `form:"access_token" json:"access_token"`
RefreshToken string `form:"refresh_token" json:"refresh_token"`
ExpiresIn int `form:"expires_in" json:"expires_in"`
Scope string `form:"scope" json:"scope"`
}
微信访问Token信息响应结构
type WeChatUserInfoResponse ¶
type WeChatUserInfoResponse struct {
ErrCode string `form:"errcode" json:"errcode"`
ErrMsg string `form:"errmsg" json:"errmsg"`
OpenId string `form:"openid" json:"openid"` //普通用户的标识,对当前开发者帐号唯一
UnionId string `form:"unionid" json:"unionid"` //用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
Nickname string `form:"nickname" json:"nickname"`
HeadImgUrl string `form:"headimgurl" json:"headimgurl"` //用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
Sex int `form:"sex" json:"sex"` //普通用户性别,1为男性,2为女性
Country string `form:"country" json:"country"` //国家,如中国为CN
Province string `form:"province" json:"province"` //普通用户个人资料填写的省份
City string `form:"city" json:"city"` //普通用户个人资料填写的城市
Privileges []string `form:"privilege" json:"privilege"` //用户特权信息,json数组,如微信沃卡用户为(chinaunicom)
}
微信用户信息响应结构