|
@@ -13,14 +13,12 @@ import (
|
|
|
|
|
|
const (
|
|
|
CASDOOEN_HOST = "https://auth.3dqueen.cloud"
|
|
|
- PROXY_ORIGIN = "http://localhost:8888" // 转发请求时使用的固定 Origin
|
|
|
)
|
|
|
|
|
|
// forwardRequestWithJWT forwards the request to target URL with JWT token and original request data
|
|
|
func forwardRequestWithJWT(c *gin.Context, targetURL string) (interface{}, error) {
|
|
|
jwtToken := c.GetHeader("Authorization")
|
|
|
|
|
|
- // Create new request
|
|
|
var req *http.Request
|
|
|
var err error
|
|
|
|
|
@@ -41,16 +39,6 @@ func forwardRequestWithJWT(c *gin.Context, targetURL string) (interface{}, error
|
|
|
return nil, fmt.Errorf("create request error: %v", err)
|
|
|
}
|
|
|
|
|
|
- // Copy original headers except Origin and Referer
|
|
|
- for k, v := range c.Request.Header {
|
|
|
- if k != "Origin" && k != "Referer" { // 不复制客户端的 Origin 和 Referer
|
|
|
- req.Header[k] = v
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // Set fixed Origin and Referer for auth.3dqueen.cloud
|
|
|
- req.Header.Set("Origin", PROXY_ORIGIN)
|
|
|
- req.Header.Set("Referer", PROXY_ORIGIN)
|
|
|
req.Header.Set("Authorization", jwtToken)
|
|
|
|
|
|
// Set content type if it's a POST request
|
|
@@ -103,6 +91,12 @@ func GetAccount(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
return forwardRequestWithJWT(c, CASDOOEN_HOST+"/api/get-account")
|
|
|
}
|
|
|
|
|
|
+// 转发请求到https://auth.3dqueen.cloud/api/logout
|
|
|
+// 添加jwt认证头
|
|
|
+func Logout(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
+ return forwardRequestWithJWT(c, CASDOOEN_HOST+"/api/logout")
|
|
|
+}
|
|
|
+
|
|
|
// GetUsers forwards request to https://auth.3dqueen.cloud/api/get-users
|
|
|
func GetUsers(c *gin.Context, apictx *ApiSession) (interface{}, error) {
|
|
|
url := fmt.Sprintf(CASDOOEN_HOST+"/api/get-users?%s", c.Request.URL.RawQuery)
|