微信多应用程序,中台Token自定义机制
Matrix-X opened this issue · 1 comments
Matrix-X commented
coincoc commented
你好
我在学习PowerWechat这个框架,看到了这个机制,目前PowerWechat存放的access_token是json格式,如果我需要修改成仅仅存储一个字符串。在实现GetCustomToken 的时候需要手动实现获取access_token的相关逻辑,不知道框架内是否有api可以直接调用,或者后续会增加相关的api吗?
谢谢
func InitClient() {
cache := kernel.NewRedisClient(&kernel.UniversalOptions{
Addrs: []string{"127.0.0.1:6379"},
Password: "",
DB: 0,
})
client, _ := miniProgram.NewMiniProgram(&miniProgram.UserConfig{
AppID: "",
Secret: "",
HttpDebug: true,
// 可选,不传默认走程序内存
Cache: cache,
})
client.AccessToken.SetCacheKey("access_token")
client.AccessToken.SetCustomToken = func(token *response.ResponseGetToken) interface{} {
return token.AccessToken
}
client.AccessToken.GetCustomToken = func(key string, refresh bool) object.HashMap {
if !refresh && cache.Has(key) {
value, err := cache.Get(key, nil)
if err == nil && value != nil {
return object.HashMap{
"access_token": value,
"expires_in": float64(7200),
}
}
}
// 请求access_token
return object.HashMap{}
}
}