Ejemplo n.º 1
0
 def from_json_value(cls, value: JsonValue) -> "BucketFs":
     value_obj = ensureJsonObject(value)
     raw_token = value_obj.get("ebrains_user_token")
     if raw_token is not None:
         token = UserToken.from_json_value(raw_token)
     else:
         token_resut = UserToken.get_global_login_token()
         if isinstance(token_resut, UsageError):
             raise token_resut
         token = token_resut
     return BucketFs(
         bucket_name=ensureJsonString(value_obj.get("bucket_name")),
         prefix=PurePosixPath(ensureJsonString(value_obj.get("prefix"))),
         ebrains_user_token=token)
Ejemplo n.º 2
0
    def __setstate__(self, value_obj: Dict[str, Any]):
        raw_token = value_obj.get("ebrains_user_token")
        if raw_token is not None:
            token = UserToken.from_json_value(raw_token)
        else:
            token_resut = UserToken.get_global_login_token()
            if isinstance(token_resut, UsageError):
                raise token_resut
            token = token_resut

        self.__init__(
            bucket_name=ensureJsonString(value_obj.get("bucket_name")),
            prefix=PurePosixPath(ensureJsonString(value_obj.get("prefix"))),
            ebrains_user_token=token,
        )
Ejemplo n.º 3
0
    async def get_user_token(
            self, *, code: str, redirect_uri: Url,
            http_client_session: ClientSession) -> "UserToken":
        if not self.can_redirect_to(redirect_uri):
            raise ValueError(f"Can't redirect to {redirect_uri.raw}")
        data = {
            "grant_type": "authorization_code",
            "code": code,
            "redirect_uri": redirect_uri.raw,
            "client_id": self.clientId,
            "client_secret": self.secret,
        }
        resp = await http_client_session.request(
            method="post",
            url=
            "https://iam.ebrains.eu/auth/realms/hbp/protocol/openid-connect/token",
            allow_redirects=False,
            data=data)
        resp.raise_for_status()

        data = ensureJsonObject(await resp.json())
        return UserToken.from_json_value(data)