Exemple #1
0
    def _process_token(self,
                       request_url,
                       response,
                       set_token=True,
                       persist_token=False,
                       token_path=None):
        try:
            token_dict = response.json()
            response.raise_for_status()
        except Exception:
            if response.status_code in [401, 403]:
                raise AuthenticationError(request_url, response,
                                          "Invalid credentials.",
                                          response.status_code)
            raise AuthenticationError(
                request_url, response,
                "Login failed.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                response.status_code)

        token = token_dict.get('token')
        if set_token:
            self.config.token = token
        if persist_token:
            self._persist_token(token, token_path)
        return token
Exemple #2
0
    def get_user(self, token=None):
        token = token or self.config.token
        request_url = self._get_http_url()
        response = self.transport.get(request_url,
                                      headers={
                                          "Authorization":
                                          "{} {}".format(
                                              self.config.authentication_type,
                                              token)
                                      })
        try:
            user_dict = response.json()
            response.raise_for_status()
        except Exception:
            if response.status_code in [401, 403]:
                raise AuthenticationError(
                    request_url, response,
                    "Invalid Token.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                    response.status_code)
            raise AuthenticationError(
                request_url, response,
                "Login failed.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                response.status_code)

        return self.prepare_results(response_json=user_dict, config=UserConfig)
Exemple #3
0
    def login(self, credentials):
        request_url = self._build_url(self._get_http_url(), 'token')
        response = requests.post(request_url, json=credentials.to_dict())
        try:
            token_dict = response.json()
            response.raise_for_status()
        except Exception:
            if response.status_code == 401:
                raise AuthenticationError(request_url, response,
                                          "Invalid credentials.", 401)
            raise AuthenticationError(
                request_url, response,
                "Login failed.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                response.status_code)

        return token_dict.get(self.authentication_type)
Exemple #4
0
    def get_user(self, token=None):
        token = token or self.token
        request_url = self._get_http_url()
        response = self.get(request_url,
                            headers={
                                "Authorization":
                                "{} {}".format(self.authentication_type, token)
                            })
        try:
            user_dict = response.json()
            response.raise_for_status()
        except Exception:
            if response.status_code == 401:
                raise AuthenticationError(
                    request_url, response,
                    "Invalid Token.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                    401)
            raise AuthenticationError(
                request_url, response,
                "Login failed.\nSee http://docs.polyaxon.com/faqs/authentication/ for help",
                response.status_code)

        return UserConfig.from_dict(user_dict)