- fix bug in weixin.VerifySecret
This commit is contained in:
@@ -3,6 +3,7 @@ package weixin
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
|
||||||
"git.rosy.net.cn/jx-callback/business/auth2"
|
"git.rosy.net.cn/jx-callback/business/auth2"
|
||||||
"git.rosy.net.cn/jx-callback/business/auth2/authprovider"
|
"git.rosy.net.cn/jx-callback/business/auth2/authprovider"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
@@ -44,9 +45,9 @@ func init() {
|
|||||||
func (a *Auther) VerifySecret(state, code string) (authBindEx *auth2.AuthBindEx, err error) {
|
func (a *Auther) VerifySecret(state, code string) (authBindEx *auth2.AuthBindEx, err error) {
|
||||||
globals.SugarLogger.Debugf("weixin VerifySecret code:%s", code)
|
globals.SugarLogger.Debugf("weixin VerifySecret code:%s", code)
|
||||||
if state == "" {
|
if state == "" {
|
||||||
token, err2 := api.WeixinPageAPI.SNSRetrieveToken(code)
|
token, err2 := a.getAPI().SNSRetrieveToken(code)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
wxUserinfo, err2 := api.WeixinPageAPI.SNSGetUserInfo(token.AccessToken, token.OpenID)
|
wxUserinfo, err2 := a.getAPI().SNSGetUserInfo(token.AccessToken, token.OpenID)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
if authBindEx, err = a.UnionFindAuthBind(a.authType, []string{AuthTypeWeixin, AuthTypeMP, AuthTypeMini}, wxUserinfo.OpenID, wxUserinfo.UnionID, wxUserinfo); err == nil {
|
if authBindEx, err = a.UnionFindAuthBind(a.authType, []string{AuthTypeWeixin, AuthTypeMP, AuthTypeMini}, wxUserinfo.OpenID, wxUserinfo.UnionID, wxUserinfo); err == nil {
|
||||||
authBindEx.UserHint = &auth2.UserBasic{
|
authBindEx.UserHint = &auth2.UserBasic{
|
||||||
@@ -60,3 +61,10 @@ func (a *Auther) VerifySecret(state, code string) (authBindEx *auth2.AuthBindEx,
|
|||||||
}
|
}
|
||||||
return authBindEx, err
|
return authBindEx, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *Auther) getAPI() *weixinapi.API {
|
||||||
|
if a.authType == AuthTypeWeixin {
|
||||||
|
return api.WeixinPageAPI
|
||||||
|
}
|
||||||
|
return api.WeixinAPI
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user