selfprivacy-rest-api/selfprivacy_api/graphql/__init__.py

21 lines
615 B
Python
Raw Normal View History

2022-06-24 20:08:58 +03:00
"""GraphQL API for SelfPrivacy."""
# pylint: disable=too-few-public-methods
import typing
from strawberry.permission import BasePermission
from strawberry.types import Info
from selfprivacy_api.utils.auth import is_token_valid
2022-06-24 21:14:20 +03:00
2022-06-24 20:08:58 +03:00
class IsAuthenticated(BasePermission):
"""Is authenticated permission"""
2022-06-24 21:14:20 +03:00
2022-06-24 20:08:58 +03:00
message = "You must be authenticated to access this resource."
def has_permission(self, source: typing.Any, info: Info, **kwargs) -> bool:
2022-08-22 22:49:14 +03:00
return is_token_valid(
info.context["request"]
.headers.get("Authorization", "")
.replace("Bearer ", "")
)