|
- package arkid
-
- import (
- "encoding/json"
- "errors"
- "fmt"
-
- "applet/app/cfg"
- "applet/app/utils"
- "applet/app/utils/cache"
- "applet/app/utils/logx"
- )
-
- func arkidLogin(args map[string]interface{}) ([]byte, error) {
- url := cfg.ArkID.Url + "/siteapi/v1/ucenter/login/"
- b, err := json.Marshal(args)
- if err != nil {
- return nil, logx.Error(err)
- }
- var d []byte
- d, err = utils.CurlPost(url, b, nil)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidLogout(token string) ([]byte, error) {
- // fmt.Println(cfg.ArkID.Url)
- url := cfg.ArkID.Url + "/siteapi/v1/revoke/token/"
- h := map[string]string{"authorization": fmt.Sprintf("token %s", token)}
- d, err := utils.CurlPost(url, "", h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidUserInfo(token string) ([]byte, error) {
- url := cfg.ArkID.Url + "/siteapi/v1/auth/token/"
- h := map[string]string{"authorization": fmt.Sprintf("token %s", token)}
- d, err := utils.CurlGet(url, h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidRegister(args map[string]interface{}) ([]byte, error) {
- url := cfg.ArkID.Url + "/siteapi/oneid/user/"
- b, err := json.Marshal(args)
- if err != nil {
- return nil, logx.Error(err)
- }
- admin, err := getArkIDAdmin()
- if err != nil {
- return nil, logx.Error(err)
- }
- h := map[string]string{"authorization": fmt.Sprintf("token %s", admin.Token)}
- var d []byte
- d, err = utils.CurlPost(url, b, h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidAppAccessWhiteList(args map[string]interface{}, permName string) ([]byte, error) {
- if permName == "" {
- return nil, errors.New("The perm_name arg must required")
- }
- path := fmt.Sprintf("/siteapi/oneid/perm/%s/owner/", permName)
- url := cfg.ArkID.Url + path
- b, err := json.Marshal(args)
- if err != nil {
- return nil, logx.Error(err)
- }
- admin, err := getArkIDAdmin()
- if err != nil {
- return nil, logx.Error(err)
- }
- // fmt.Println(admin.Token)
- h := map[string]string{"authorization": fmt.Sprintf("token %s", admin.Token)}
- var d []byte
- d, err = utils.CurlPatch(url, b, h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidUserDelete(username string) ([]byte, error) {
- if username == "" {
- return nil, errors.New("The username arg must required")
- }
- path := fmt.Sprintf("/siteapi/oneid/user/%s/", username)
- url := cfg.ArkID.Url + path
- admin, err := getArkIDAdmin()
- if err != nil {
- return nil, logx.Error(err)
- }
- // fmt.Println(admin.Token)
- h := map[string]string{"authorization": fmt.Sprintf("token %s", admin.Token)}
- var d []byte
- d, err = utils.CurlDelete(url, nil, h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func arkidUserUpdate(username string, args map[string]interface{}) ([]byte, error) {
- if username == "" {
- return nil, errors.New("The username arg must required")
- }
- b, err := json.Marshal(args)
- if err != nil {
- return nil, logx.Error(err)
- }
- path := fmt.Sprintf("/siteapi/oneid/user/%s/", username)
- url := cfg.ArkID.Url + path
- var admin *ArkIDUser
- admin, err = getArkIDAdmin()
- if err != nil {
- return nil, logx.Error(err)
- }
- h := map[string]string{"authorization": fmt.Sprintf("token %s", admin.Token)}
- d, err := utils.CurlPatch(url, b, h)
- if err != nil {
- return nil, logx.Error(err)
- }
- return d, nil
- }
-
- func getArkIDAdmin() (*ArkIDUser, error) {
- c, err := cache.Bytes(cache.Get(ARKID_ADMIN_TOKEN))
- if err != nil {
- logx.Error(err)
- }
- if c != nil && err == nil {
- admin := new(ArkIDUser)
- if err = json.Unmarshal(c, admin); err != nil {
- return admin, err
- }
- return admin, nil
- }
- return Init()
- }
|