using query param for access token in attribute module

This commit is contained in:
Roland Osborne 2022-03-20 14:41:18 -07:00
parent 8c84971513
commit 1c3f06cd5a
10 changed files with 36 additions and 19 deletions

View File

@ -9,7 +9,7 @@ import (
func AddArticle(w http.ResponseWriter, r *http.Request) { func AddArticle(w http.ResponseWriter, r *http.Request) {
account, code, err := BearerAppToken(r, false) account, code, err := ParamAgentToken(r, false)
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -10,7 +10,7 @@ import (
func ClearArticleGroup(w http.ResponseWriter, r *http.Request) { func ClearArticleGroup(w http.ResponseWriter, r *http.Request) {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -23,16 +23,16 @@ func GetArticleSubjectField(w http.ResponseWriter, r *http.Request) {
var guid string var guid string
var act *store.Account var act *store.Account
tokenType := r.Header.Get("TokenType") tokenType := ParamTokenType(r)
if tokenType == APP_TOKENAGENT { if tokenType == APP_TOKENAGENT {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return
} }
act = account act = account
} else if tokenType == APP_TOKENCONTACT { } else if tokenType == APP_TOKENCONTACT {
card, code, err := BearerContactToken(r, true) card, code, err := ParamContactToken(r, true)
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -49,10 +49,10 @@ func GetArticles(w http.ResponseWriter, r *http.Request) {
} }
var response []*Article var response []*Article
tokenType := r.Header.Get("TokenType") tokenType := ParamTokenType(r)
if tokenType == APP_TOKENAGENT { if tokenType == APP_TOKENAGENT {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return
@ -81,7 +81,7 @@ func GetArticles(w http.ResponseWriter, r *http.Request) {
} else if tokenType == APP_TOKENCONTACT { } else if tokenType == APP_TOKENCONTACT {
card, code, err := BearerContactToken(r, true) card, code, err := ParamContactToken(r, true)
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -8,7 +8,8 @@ import (
func GetProfileMessage(w http.ResponseWriter, r *http.Request) { func GetProfileMessage(w http.ResponseWriter, r *http.Request) {
var code int var code int
tokenType, err := ParamTokenType(r) var err error
tokenType := ParamTokenType(r)
// load account record // load account record
var account *store.Account var account *store.Account

View File

@ -10,7 +10,7 @@ import (
func RemoveArticle(w http.ResponseWriter, r *http.Request) { func RemoveArticle(w http.ResponseWriter, r *http.Request) {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -10,7 +10,7 @@ import (
func SetArticleGroup(w http.ResponseWriter, r *http.Request) { func SetArticleGroup(w http.ResponseWriter, r *http.Request) {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -10,7 +10,7 @@ import (
func SetArticleSubject(w http.ResponseWriter, r *http.Request) { func SetArticleSubject(w http.ResponseWriter, r *http.Request) {
account, code, err := BearerAppToken(r, false); account, code, err := ParamAgentToken(r, false);
if err != nil { if err != nil {
ErrResponse(w, code, err) ErrResponse(w, code, err)
return return

View File

@ -155,23 +155,23 @@ func ParseToken(token string) (string, string, error) {
return split[0], split[1], nil return split[0], split[1], nil
} }
func ParamTokenType(r *http.Request) (string, error) { func ParamTokenType(r *http.Request) string {
if r.FormValue(APP_TOKENCONTACT) != "" { if r.FormValue(APP_TOKENCONTACT) != "" {
return APP_TOKENCONTACT, nil return APP_TOKENCONTACT
} }
if r.FormValue(APP_TOKENAGENT) != "" { if r.FormValue(APP_TOKENAGENT) != "" {
return APP_TOKENAGENT, nil return APP_TOKENAGENT
} }
if r.FormValue(APP_TOKENATTACH) != "" { if r.FormValue(APP_TOKENATTACH) != "" {
return APP_TOKENATTACH, nil return APP_TOKENATTACH
} }
if r.FormValue(APP_TOKENCREATE) != "" { if r.FormValue(APP_TOKENCREATE) != "" {
return APP_TOKENCREATE, nil return APP_TOKENCREATE
} }
if r.FormValue(APP_TOKENRESET) != "" { if r.FormValue(APP_TOKENRESET) != "" {
return APP_TOKENRESET, nil return APP_TOKENRESET
} }
return "", errors.New("missing access token") return ""
} }
func ParamContactToken(r *http.Request, detail bool) (*store.Card, int, error) { func ParamContactToken(r *http.Request, detail bool) (*store.Card, int, error) {

View File

@ -70,6 +70,22 @@ func ApiTestData(
var r *http.Request var r *http.Request
var w *httptest.ResponseRecorder var w *httptest.ResponseRecorder
if tokenType == APP_TOKENAGENT {
if !strings.Contains(name, "?") {
name += "?"
} else {
name += "&"
}
name += "agent=" + token
} else if tokenType == APP_TOKENCONTACT {
if !strings.Contains(name, "?") {
name += "?"
} else {
name += "&"
}
name += "contact=" + token
}
if r, w, err = NewRequest(requestType, name, body); err != nil { if r, w, err = NewRequest(requestType, name, body); err != nil {
return return
} }