diff --git a/app/Http/Controllers/Api/WorkflowController.php b/app/Http/Controllers/Api/WorkflowController.php index 8c95130bb..c04dbe641 100755 --- a/app/Http/Controllers/Api/WorkflowController.php +++ b/app/Http/Controllers/Api/WorkflowController.php @@ -22,8 +22,28 @@ class WorkflowController extends AbstractController private $flow_url = ''; public function __construct() { - // $this->flow_url = 'http://dootask-workflow-'.env('APP_ID'); - $this->flow_url = 'http://192.168.100.219:8700'; + $this->flow_url = env('FLOW_URL') ?: 'http://dootask-workflow-'.env('APP_ID'); + } + + /** + * @api {get} api/workflow/verifyToken 01. 验证APi登录 + * + * @apiVersion 1.0.0 + * @apiGroup users + * @apiName verifyToken + * + * @apiSuccess {String} version + * @apiSuccess {String} publish + */ + public function verifyToken() + { + try { + $user = User::auth(); + $user->checkAdmin(); + return Base::retSuccess('成功'); + } catch (\Throwable $th) { + return response('身份无效', 400)->header('Content-Type', 'text/plain'); + } } /** @@ -601,4 +621,5 @@ class WorkflowController extends AbstractController } return $user; } + } diff --git a/composer.json b/composer.json index 90d75609a..b93bb41e3 100644 --- a/composer.json +++ b/composer.json @@ -81,5 +81,7 @@ "sort-packages": true }, "minimum-stability": "dev", - "prefer-stable": true + "prefer-stable": true, + "repositories": { + } } diff --git a/docker-compose.yml b/docker-compose.yml index 3acfef799..8804e6e63 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -49,6 +49,7 @@ services: - drawio-webapp - drawio-export - minder + - workflow restart: unless-stopped redis: @@ -149,22 +150,21 @@ services: restart: unless-stopped workflow: - container_name: "dootask-workflow-${APP_ID}" - image: "weifashi/go-workflow:1.0.0" - ports: - - "8800:80" - environment: - TZ: "Asia/Shanghai" - MYSQL_HOST: "${DB_HOST}" - MYSQL_PORT: "${DB_PORT}" - MYSQL_DBNAME: "${DB_DATABASE}" - MYSQL_USERNAME: "${DB_USERNAME}" - MYSQL_PASSWORD: "${DB_PASSWORD}" - MYSQL_Prefix: "${DB_PREFIX}workflow_" - networks: - extnetwork: - ipv4_address: "${APP_IPPR}.11" - restart: always + container_name: "dootask-workflow-${APP_ID}" + image: "weifashi/go-workflow:1.0.0" + environment: + MYSQL_HOST: "${DB_HOST}" + MYSQL_PORT: "${DB_PORT}" + MYSQL_DBNAME: "${DB_DATABASE}" + MYSQL_USERNAME: "${DB_USERNAME}" + MYSQL_PASSWORD: "${DB_PASSWORD}" + MYSQL_Prefix: "${DB_PREFIX}workflow_" + networks: + extnetwork: + ipv4_address: "${APP_IPPR}.11" + depends_on: + - mariadb + restart: unless-stopped networks: extnetwork: diff --git a/docker/nginx/default.conf b/docker/nginx/default.conf index 2e87b4cba..dc6defe47 100644 --- a/docker/nginx/default.conf +++ b/docker/nginx/default.conf @@ -168,6 +168,22 @@ server { proxy_set_header Server-Port $server_port; proxy_pass http://minder/; } + + # 工作流 + location /workflow/api/ { + auth_request /workflowauth; + auth_request_set $auth_status $upstream_status; + proxy_pass http://workflow/api/; + } + location /workflow/ { + proxy_pass http://workflow/; + } + location /workflowauth { + internal; + proxy_set_header Content-Type "application/json"; + proxy_set_header Content-Length $request_length; + proxy_pass http://service/api/workflow/verifyToken; + } } include /etc/nginx/conf.d/conf.d/*.conf;