Skip to content

Commit 5c51c24

Browse files
author
Jongmin Kim
committed
2 parents 1b615e3 + 9a10aa9 commit 5c51c24

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

src/spaceone/core/handler/authentication_handler.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import json
22
import logging
3+
from typing import Tuple, List
34

45
from spaceone.core import cache, config
56
from spaceone.core.connector.space_connector import SpaceConnector
@@ -37,7 +38,9 @@ def verify(self, params: dict) -> None:
3738
if owner_type == "APP":
3839
client_id = token_info.get("jti")
3940
domain_id = token_info.get("did")
40-
token_info["permissions"] = self._check_app(client_id, domain_id)
41+
permissions, projects = self._check_app(client_id, domain_id)
42+
token_info["permissions"] = permissions
43+
token_info["projects"] = projects
4144

4245
self._update_meta(token_info)
4346

@@ -55,7 +58,7 @@ def _get_public_key(self, domain_id: str) -> str:
5558
@cache.cacheable(
5659
key="handler:authentication:{domain_id}:client:{client_id}", alias="local"
5760
)
58-
def _check_app(self, client_id, domain_id) -> list:
61+
def _check_app(self, client_id: str, domain_id: str) -> Tuple[List[str], List[str]]:
5962
system_token = config.get_global("TOKEN")
6063

6164
_LOGGER.debug(f"[_check_app] check app from identity service: {client_id}")
@@ -68,7 +71,7 @@ def _check_app(self, client_id, domain_id) -> list:
6871
token=system_token,
6972
)
7073

71-
return response.get("permissions", [])
74+
return response.get("permissions", []), response.get("projects", [])
7275

7376
def _authenticate(self, token: str, domain_id: str) -> dict:
7477
public_key = self._get_public_key(domain_id)

src/spaceone/core/pygrpc/client.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import types
33
import grpc
44
from google.protobuf.json_format import ParseDict
5-
from google.protobuf.message_factory import MessageFactory, GetMessageClass
5+
from google.protobuf.message_factory import MessageFactory #, GetMessageClass
66
from google.protobuf.descriptor_pool import DescriptorPool
77
from google.protobuf.descriptor import ServiceDescriptor, MethodDescriptor
88
from grpc_reflection.v1alpha.proto_reflection_descriptor_database import (
@@ -207,14 +207,14 @@ def _bind_grpc_method(
207207
request_desc = self._desc_pool.FindMessageTypeByName(
208208
method_desc.input_type.full_name
209209
)
210-
# request_message_desc = MessageFactory(self._desc_pool).GetPrototype(request_desc)
211-
request_message_desc = GetMessageClass(request_desc)
210+
request_message_desc = MessageFactory(self._desc_pool).GetPrototype(request_desc)
211+
# request_message_desc = GetMessageClass(request_desc)
212212

213213
response_desc = self._desc_pool.FindMessageTypeByName(
214214
method_desc.output_type.full_name
215215
)
216-
# response_message_desc = MessageFactory(self._desc_pool).GetPrototype(response_desc)
217-
response_message_desc = GetMessageClass(response_desc)
216+
response_message_desc = MessageFactory(self._desc_pool).GetPrototype(response_desc)
217+
# response_message_desc = GetMessageClass(response_desc)
218218

219219
if method_desc.client_streaming and method_desc.server_streaming:
220220
setattr(
@@ -286,8 +286,8 @@ def _init_grpc_reflection(self):
286286
request_desc = self._desc_pool.FindMessageTypeByName(
287287
method_desc.input_type.full_name
288288
)
289-
# self._request_map[method_key] = MessageFactory(self._desc_pool).GetPrototype(request_desc)
290-
self._request_map[method_key] = GetMessageClass(request_desc)
289+
self._request_map[method_key] = MessageFactory(self._desc_pool).GetPrototype(request_desc)
290+
# self._request_map[method_key] = GetMessageClass(request_desc)
291291

292292
if service_desc.name not in self._api_resources:
293293
self._api_resources[service_name] = []

0 commit comments

Comments
 (0)