def auth(self, auth_dict): if auth_dict is None: self._auth = None return self.auth_obj = ResourceAuth.create(auth_dict) self._auth = self.auth_obj.encode()
def add_auth_header(self, headers_dict): if 'Authorization' in headers_dict: del headers_dict['Authorization'] if not self.has_auth(): return headers_dict self.auth_obj = ResourceAuth.create(self.auth) return self.auth_obj.add_auth_header(headers_dict)
def edit_resource(resource_identifier): """edit a resource""" resource = Resource.query.filter_by(identifier=resource_identifier).first() if resource is None: flash(gettext('Resource not found'), 'danger') return redirect(request.referrer) probes_avail = views.get_probes_avail(resource.resource_type, resource) suggestions = json.dumps(Recipient.get_suggestions('email', g.user.username)) return render_template('edit_resource.html', lang=g.current_lang, resource=resource, suggestions=suggestions, auths_avail=ResourceAuth.get_auth_defs(), probes_avail=probes_avail)
def auth(self): return ResourceAuth.decode(self._auth)
def testResoureAuthPlugins(self): auth_defs = ResourceAuth.get_auth_defs() for auth_type in ['None', 'Basic', 'Bearer Token']: self.assertEqual(auth_type in auth_defs, True) # No Auth auth_dict = {'type': 'None', 'data': {}} auth_obj = ResourceAuth.create(auth_dict) self.assertEqual(auth_obj.__class__.__name__, 'NoAuth') self.assertEqual(auth_obj.NAME, 'None') self.assertEqual(auth_obj.verify(), False) # Basic Auth auth_dict = { 'type': 'Basic', 'data': { 'username': '******', 'password': '******' } } auth_obj = ResourceAuth.create(auth_dict) self.assertEqual(auth_obj.__class__.__name__, 'BasicAuth') self.assertEqual(auth_obj.NAME, 'Basic') self.assertEqual(auth_obj.verify(), True) encoded_val = auth_obj.encode() auth_dict_test = auth_obj.decode(encoded_val) self.assertEqual(auth_dict_test['type'], 'Basic') self.assertEqual(auth_dict_test['data']['username'], 'the_user') self.assertEqual(auth_dict_test['data']['password'], 'the_password') auth_dict = {'type': 'Basic', 'data': {'username': '', 'password': ''}} auth_obj = ResourceAuth.create(auth_dict) self.assertEqual(auth_obj.verify(), False) auth_dict = { 'type': 'Basic', 'data': { 'username': None, 'password': None } } auth_obj = ResourceAuth.create(auth_dict) self.assertEqual(auth_obj.verify(), False) # Bearer Token auth_dict = { 'type': 'Bearer Token', 'data': { 'token': 'a8KeTFOceitnRWT3M2rt' } } auth_obj = ResourceAuth.create(auth_dict) self.assertEqual(auth_obj.__class__.__name__, 'BearerTokenAuth') self.assertEqual(auth_obj.NAME, 'Bearer Token') self.assertEqual(auth_obj.verify(), True) encoded_val = auth_obj.encode() auth_dict_test = auth_obj.decode(encoded_val) self.assertEqual(auth_dict_test['type'], 'Bearer Token') self.assertEqual(auth_dict_test['data']['token'], 'a8KeTFOceitnRWT3M2rt')