updated and added some packages
This commit is contained in:
1 parent
cf3b619b20
commit
6375fc028e
16 files changed
+443
-334
No files matched your search
@@ -0,0 +1,43 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"auth_service/api/jwt"
|
||||
"auth_service/database"
|
||||
"auth_service/model"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
func Token(w http.ResponseWriter, req *http.Request) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
var request model.TokenRequest
|
||||
decoder := json.NewDecoder(req.Body)
|
||||
decoder.Decode(&request)
|
||||
dbuser, e := database.GetUserByUsername(request.Username)
|
||||
if e != nil {
|
||||
fmt.Fprintf(w, "{\"status\":403,\"error\":\"%v\"}", e)
|
||||
return
|
||||
}
|
||||
if dbuser.Password == request.Password {
|
||||
responseUser := model.UserResponse{
|
||||
Id: dbuser.Id,
|
||||
Username: dbuser.Username,
|
||||
Email: dbuser.Email,
|
||||
Group: dbuser.Group,
|
||||
IsSuperuser: dbuser.IsSuperuser,
|
||||
}
|
||||
responseUserMarshal, _ := json.Marshal(responseUser)
|
||||
responseUserUnmarshal := make(map[string]any)
|
||||
json.Unmarshal(responseUserMarshal, &responseUserUnmarshal)
|
||||
token, _ := jwt.CreateJWT(
|
||||
jwt.Defaultsecretkey,
|
||||
responseUserUnmarshal,
|
||||
time.Duration(24*time.Hour),
|
||||
)
|
||||
fmt.Fprintf(w, "{\"token\":\"%s\"}", token)
|
||||
return
|
||||
}
|
||||
fmt.Fprintf(w, "{\"status\":\"403\"}")
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package auth
|
||||
|
||||
import (
|
||||
"auth_service/api/jwt"
|
||||
"auth_service/model"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func VerifyToken(w http.ResponseWriter, req *http.Request) {
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
var request model.Token
|
||||
decoder := json.NewDecoder(req.Body)
|
||||
decoder.Decode(&request)
|
||||
_, e := jwt.VerifyJWT(request.Token, jwt.Defaultsecretkey)
|
||||
if e != nil {
|
||||
fmt.Fprintf(w, "{\"status\":403}")
|
||||
return
|
||||
}
|
||||
fmt.Fprintf(w, "{\"status\":200}")
|
||||
}
|
||||
Reference in new issue
Block a user