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-01-13 05:23:18 +00:00
|
|
|
func Authorize(w http.ResponseWriter, r *http.Request) {
|
2022-02-15 07:20:42 +00:00
|
|
|
|
2022-07-22 19:28:14 +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,
|
|
|
|
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
|
|
|
}
|