mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-12 08:42:28 +08:00
[feature] Format the code and improve Mini Program authorization to o… (#473)
* [feature] Format the code and improve Mini Program authorization to obtain openid(miniprogram/auth/auth.go Code2Session) * [feature] CheckEncryptedData (https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/user-info/auth.checkEncryptedData.html) * upgrade json error * upgrade json error Co-authored-by: houseme <houseme@outlook.com>
This commit is contained in:
@@ -15,7 +15,7 @@ type Js struct {
|
||||
credential.JsTicketHandle
|
||||
}
|
||||
|
||||
//NewJs init
|
||||
// NewJs init
|
||||
func NewJs(context *context.Context, appID string) *Js {
|
||||
js := new(Js)
|
||||
js.Context = context
|
||||
@@ -24,13 +24,13 @@ func NewJs(context *context.Context, appID string) *Js {
|
||||
return js
|
||||
}
|
||||
|
||||
//SetJsTicketHandle 自定义js ticket取值方式
|
||||
// SetJsTicketHandle 自定义js ticket取值方式
|
||||
func (js *Js) SetJsTicketHandle(ticketHandle credential.JsTicketHandle) {
|
||||
js.JsTicketHandle = ticketHandle
|
||||
}
|
||||
|
||||
//GetConfig 第三方平台 - 获取jssdk需要的配置参数
|
||||
//uri 为当前网页地址
|
||||
// GetConfig 第三方平台 - 获取jssdk需要的配置参数
|
||||
// uri 为当前网页地址
|
||||
func (js *Js) GetConfig(uri, appid string) (config *officialJs.Config, err error) {
|
||||
config = new(officialJs.Config)
|
||||
var accessToken string
|
||||
|
||||
@@ -28,14 +28,14 @@ func NewOauth(context *context.Context) *Oauth {
|
||||
return auth
|
||||
}
|
||||
|
||||
//GetRedirectURL 第三方平台 - 获取跳转的url地址
|
||||
// GetRedirectURL 第三方平台 - 获取跳转的url地址
|
||||
func (oauth *Oauth) GetRedirectURL(redirectURI, scope, state, appID string) (string, error) {
|
||||
//url encode
|
||||
// url encode
|
||||
urlStr := url.QueryEscape(redirectURI)
|
||||
return fmt.Sprintf(platformRedirectOauthURL, appID, urlStr, scope, state, oauth.AppID), nil
|
||||
}
|
||||
|
||||
//Redirect 第三方平台 - 跳转到网页授权
|
||||
// Redirect 第三方平台 - 跳转到网页授权
|
||||
func (oauth *Oauth) Redirect(writer http.ResponseWriter, req *http.Request, redirectURI, scope, state, appID string) error {
|
||||
location, err := oauth.GetRedirectURL(redirectURI, scope, state, appID)
|
||||
if err != nil {
|
||||
|
||||
@@ -9,15 +9,15 @@ import (
|
||||
"github.com/silenceper/wechat/v2/openplatform/officialaccount/oauth"
|
||||
)
|
||||
|
||||
//OfficialAccount 代公众号实现业务
|
||||
// OfficialAccount 代公众号实现业务
|
||||
type OfficialAccount struct {
|
||||
//授权的公众号的appID
|
||||
// 授权的公众号的appID
|
||||
appID string
|
||||
*officialaccount.OfficialAccount
|
||||
}
|
||||
|
||||
//NewOfficialAccount 实例化
|
||||
//appID :为授权方公众号 APPID,非开放平台第三方平台 APPID
|
||||
// NewOfficialAccount 实例化
|
||||
// appID :为授权方公众号 APPID,非开放平台第三方平台 APPID
|
||||
func NewOfficialAccount(opCtx *opContext.Context, appID string) *OfficialAccount {
|
||||
officialAccount := officialaccount.NewOfficialAccount(&offConfig.Config{
|
||||
AppID: opCtx.AppID,
|
||||
@@ -25,7 +25,7 @@ func NewOfficialAccount(opCtx *opContext.Context, appID string) *OfficialAccount
|
||||
Token: opCtx.Token,
|
||||
Cache: opCtx.Cache,
|
||||
})
|
||||
//设置获取access_token的函数
|
||||
// 设置获取access_token的函数
|
||||
officialAccount.SetAccessTokenHandle(NewDefaultAuthrAccessToken(opCtx, appID))
|
||||
return &OfficialAccount{appID: appID, OfficialAccount: officialAccount}
|
||||
}
|
||||
@@ -40,13 +40,13 @@ func (officialAccount *OfficialAccount) PlatformJs() *js.Js {
|
||||
return js.NewJs(officialAccount.GetContext(), officialAccount.appID)
|
||||
}
|
||||
|
||||
//DefaultAuthrAccessToken 默认获取授权ak的方法
|
||||
// DefaultAuthrAccessToken 默认获取授权ak的方法
|
||||
type DefaultAuthrAccessToken struct {
|
||||
opCtx *opContext.Context
|
||||
appID string
|
||||
}
|
||||
|
||||
//NewDefaultAuthrAccessToken New
|
||||
// NewDefaultAuthrAccessToken New
|
||||
func NewDefaultAuthrAccessToken(opCtx *opContext.Context, appID string) credential.AccessTokenHandle {
|
||||
return &DefaultAuthrAccessToken{
|
||||
opCtx: opCtx,
|
||||
@@ -54,7 +54,7 @@ func NewDefaultAuthrAccessToken(opCtx *opContext.Context, appID string) credenti
|
||||
}
|
||||
}
|
||||
|
||||
//GetAccessToken 获取ak
|
||||
// GetAccessToken 获取ak
|
||||
func (ak *DefaultAuthrAccessToken) GetAccessToken() (string, error) {
|
||||
return ak.opCtx.GetAuthrAccessToken(ak.appID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user