databag/net/server/internal/api_authorize.go

34 lines
681 B
Go
Raw Normal View History

2022-01-11 06:20:32 +00:00
package databag
import (
2022-02-15 07:20:42 +00:00
"net/http"
2022-01-11 06:20:32 +00:00
)
2022-01-13 05:23:18 +00:00
func Authorize(w http.ResponseWriter, r *http.Request) {
2022-02-15 07:20:42 +00:00
account, code, res := BearerAppToken(r, true);
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,
2022-07-22 17:52:13 +00:00
APPSignPKCS1V15, account.GUID, APPMsgAuthenticate, &claim)
2022-02-15 07:20:42 +00:00
if err != nil {
ErrResponse(w, http.StatusInternalServerError, err)
return
}
WriteResponse(w, msg)
2022-01-11 06:20:32 +00:00
}
2022-02-08 20:24:42 +00:00