databag/net/server/internal/api_authorize.go

34 lines
718 B
Go
Raw Normal View History

2022-01-11 06:20:32 +00:00
package databag
import (
2022-07-22 19:28:14 +00:00
"net/http"
2022-01-11 06:20:32 +00:00
)
2022-07-25 19:19:24 +00:00
//Authorize confirm account authorization with signed data message
2022-01-13 05:23:18 +00:00
func Authorize(w http.ResponseWriter, r *http.Request) {
2022-02-15 07:20:42 +00:00
2022-11-15 18:04:45 +00:00
account, code, res := ParamAgentToken(r, true)
2022-07-22 19:28:14 +00:00
if res != nil {
ErrResponse(w, code, res)
return
}
detail := account.AccountDetail
var token string
if err := ParseRequest(r, w, &token); err != nil {
ErrResponse(w, http.StatusBadRequest, err)
return
}
claim := &Claim{Token: token}
msg, err := WriteDataMessage(detail.PrivateKey, detail.PublicKey, detail.KeyType,
APPSignPKCS1V15, account.GUID, APPMsgAuthenticate, &claim)
if err != nil {
ErrResponse(w, http.StatusInternalServerError, err)
return
}
WriteResponse(w, msg)
2022-01-11 06:20:32 +00:00
}