summaryrefslogtreecommitdiff
path: root/src/services/api/graphql/libs/key_auth.py
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2024-09-24 22:48:25 -0500
committerJohn Estabrook <jestabro@vyos.io>2024-09-29 22:21:21 -0500
commitfc9885f859617bab36c971f4eaa56240741f52c4 (patch)
tree7833c8e88191699b88920e02d67904101335cdbb /src/services/api/graphql/libs/key_auth.py
parent3ad911a20620a67b6a019e86da815e2a25047de7 (diff)
downloadvyos-1x-fc9885f859617bab36c971f4eaa56240741f52c4.tar.gz
vyos-1x-fc9885f859617bab36c971f4eaa56240741f52c4.zip
http-api: T6736: separate REST API and GraphQL API activation
The GraphQL API was implemented as an addition to the existing REST API. As there is no necessary dependency, separate the initialization of the respective endpoints. Factor out the REST Pydantic models and FastAPI routes for symmetry and clarity.
Diffstat (limited to 'src/services/api/graphql/libs/key_auth.py')
-rw-r--r--src/services/api/graphql/libs/key_auth.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/services/api/graphql/libs/key_auth.py b/src/services/api/graphql/libs/key_auth.py
index 2db0f7d48..9e49a1203 100644
--- a/src/services/api/graphql/libs/key_auth.py
+++ b/src/services/api/graphql/libs/key_auth.py
@@ -1,5 +1,20 @@
+# Copyright 2021-2024 VyOS maintainers and contributors <maintainers@vyos.io>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library. If not, see <http://www.gnu.org/licenses/>.
-from .. import state
+
+from ... session import SessionState
def check_auth(key_list, key):
if not key_list:
@@ -11,8 +26,9 @@ def check_auth(key_list, key):
return key_id
def auth_required(key):
+ state = SessionState()
api_keys = None
- api_keys = state.settings['app'].state.vyos_keys
+ api_keys = state.keys
key_id = check_auth(api_keys, key)
- state.settings['app'].state.vyos_id = key_id
+ state.id = key_id
return key_id