def request_hook(self, method, path, data, params, **kwargs): """ Used by Jira Client to apply the jira-cloud authentication """ # handle params that are already part of the path url_params = dict(parse_qs(urlsplit(path).query)) url_params.update(params or {}) path = path.split('?')[0] jwt_payload = { 'iss': JIRA_KEY, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), 'qsh': get_query_hash(path, method.upper(), url_params), } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) params = dict( jwt=encoded_jwt, **(url_params or {}) ) request_spec = kwargs.copy() request_spec.update(dict( method=method, path=path, data=data, params=params)) return request_spec
def request(self, method, path, data=None, params=None, **kwargs): jwt_payload = { "iss": BITBUCKET_KEY, "iat": datetime.datetime.utcnow(), "exp": datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), "qsh": get_query_hash(path, method.upper(), params), "sub": self.subject, } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) headers = {"Authorization": b"JWT %s" % encoded_jwt} return self._request(method, path, data=data, params=params, headers=headers, **kwargs)
def request(self, method, path, data=None, params=None, **kwargs): jwt_payload = { 'iss': JIRA_KEY, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), 'qsh': get_query_hash(path, method.upper(), params), } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) params = dict(jwt=encoded_jwt, **(params or {})) return self._request(method, path, data=data, params=params, **kwargs)
def jwt_token_cdn(self): jira_signing_algorithm = "RS256" return jwt.encode( { "iss": self.external_id, "aud": absolute_uri(), "qsh": get_query_hash(self.path, method="POST", query_params={}), }, RS256_KEY, algorithm=jira_signing_algorithm, headers={"kid": self.kid, "alg": jira_signing_algorithm}, )
def jwt_token_secret(self): jira_signing_algorithm = "HS256" return jwt.encode( { "iss": self.external_id, "aud": absolute_uri(), "qsh": get_query_hash(self.path, method="POST", query_params={}), }, self.shared_secret, algorithm=jira_signing_algorithm, headers={"alg": jira_signing_algorithm}, )
def request(self, method, path, data=None, params=None, **kwargs): jwt_payload = { 'iss': BITBUCKET_KEY, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), 'qsh': get_query_hash(path, method.upper(), params), 'sub': self.subject, } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) headers = { 'Authorization': 'JWT %s' % encoded_jwt } return self._request(method, path, data=data, params=params, headers=headers, **kwargs)
def request(self, method, path, data=None, params=None, **kwargs): # handle params that are already part of the path url_params = dict(parse_qs(urlsplit(path).query)) url_params.update(params or {}) path = path.split('?')[0] jwt_payload = { 'iss': JIRA_KEY, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), 'qsh': get_query_hash(path, method.upper(), url_params), } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) params = dict(jwt=encoded_jwt, **(url_params or {})) return self._request(method, path, data=data, params=params, **kwargs)
def request(self, method, path, data=None, params=None, **kwargs): # handle params that are already part of the path url_params = dict(parse_qs(urlsplit(path).query)) url_params.update(params or {}) path = path.split('?')[0] jwt_payload = { 'iss': JIRA_KEY, 'iat': datetime.datetime.utcnow(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=5 * 60), 'qsh': get_query_hash(path, method.upper(), url_params), } encoded_jwt = jwt.encode(jwt_payload, self.shared_secret) params = dict( jwt=encoded_jwt, **(url_params or {}) ) return self._request(method, path, data=data, params=params, **kwargs)