示例#1
0
    def POST(self):
        data = self.checked_data()
        try:
            if "passwordCredentials" in data["auth"]:
                if not validate_password_credentials(**data["auth"]["passwordCredentials"]):
                    raise self.http(401)
            elif "token" in data["auth"]:
                if not validate_token(data["auth"]["token"]["id"]):
                    raise self.http(401)
            else:
                raise self.http(400)
        except (KeyError, TypeError):
            raise self.http(400)

        token = generate_token()

        return {
            "access": {
                "token": {
                    "issued_at": "2012-07-10T13:37:58.708765",
                    "expires": "2012-07-10T14:37:58Z",
                    "id": token,
                    "tenant": {"description": None, "enabled": True, "id": "12345", "name": "admin"},
                },
                "serviceCatalog": [],
                "user": {
                    "username": "******",
                    "roles_links": [],
                    "id": "9876",
                    "roles": [{"name": "admin"}],
                    "name": "admin",
                },
                "metadata": {"is_admin": 0, "roles": ["4567"]},
            }
        }
示例#2
0
 def __call__(self, env, start_response):
     if validate_token(self.get_auth_token(env)):
         env['HTTP_X_ROLES'] = settings.FAKE_KEYSTONE_ROLE
         return self.app(env, start_response)
     else:
         start_response('401 Unauthorized', [])
         return ['']
示例#3
0
 def __call__(self, env, start_response):
     if validate_token(self.get_auth_token(env)):
         env['HTTP_X_ROLES'] = settings.FAKE_KEYSTONE_ROLE
         return self.app(env, start_response)
     else:
         start_response('401 Unauthorized', [])
         return ['']
示例#4
0
    def POST(self):
        data = self.checked_data()
        try:
            if 'passwordCredentials' in data['auth']:
                if not validate_password_credentials(
                        **data['auth']['passwordCredentials']):
                    raise self.http(401)
            elif 'token' in data['auth']:
                if not validate_token(data['auth']['token']['id']):
                    raise self.http(401)
            else:
                raise self.http(400)
        except (KeyError, TypeError):
            raise self.http(400)

        token = generate_token()

        return {
            "access": {
                "token": {
                    "issued_at": "2012-07-10T13:37:58.708765",
                    "expires": "2012-07-10T14:37:58Z",
                    "id": token,
                    "tenant": {
                        "description": None,
                        "enabled": True,
                        "id": "12345",
                        "name": "admin"
                    }
                },
                "serviceCatalog": [],
                "user": {
                    "username": "******",
                    "roles_links": [],
                    "id": "9876",
                    "roles": [{
                        "name": "admin"
                    }],
                    "name": "admin"
                },
                "metadata": {
                    "is_admin": 0,
                    "roles": ["4567"]
                }
            }
        }
示例#5
0
    def POST(self):
        data = self.checked_data()
        try:
            if 'password' in data['auth']['identity']['methods']:
                if not validate_password_credentials(
                        data['auth']['identity']['password']['user']['name'],
                        data['auth']['identity']['password']['user']
                    ['password']):
                    raise self.http(401)
            elif 'token' in data['auth']['identity']['methods']:
                if not validate_token(data['auth']['identity']['token']['id']):
                    raise self.http(401)
            else:
                raise self.http(400)
        except (KeyError, TypeError):
            raise self.http(400)

        web.header('X-Subject-Token', generate_token())

        return self._get_token_info()
示例#6
0
    def POST(self):
        data = self.checked_data()
        try:
            if 'password' in data['auth']['identity']['methods']:
                if not validate_password_credentials(
                    data['auth']['identity']['password']['user']['name'],
                    data['auth']['identity']['password']['user']['password']
                ):
                    raise self.http(401)
            elif 'token' in data['auth']['identity']['methods']:
                if not validate_token(data['auth']['identity']['token']['id']):
                    raise self.http(401)
            else:
                raise self.http(400)
        except (KeyError, TypeError):
            raise self.http(400)

        web.header('X-Subject-Token', generate_token())

        return self._get_token_info()
示例#7
0
 def __call__(self, env, start_response):
     if validate_token(self.get_auth_token(env)):
         return self.app(env, start_response)
     else:
         start_response('401 Unauthorized', [])
         return ['']
示例#8
0
 def __call__(self, env, start_response):
     if validate_token(self.get_auth_token(env)):
         return self.app(env, start_response)
     else:
         start_response('401 Unauthorized', [])
         return ['']
示例#9
0
    def GET(self):
        token = web.ctx.env.get('HTTP_X_SUBJECT_TOKEN', '')
        if not validate_token(token):
            raise self.http(401)

        return self._get_token_info()
示例#10
0
    def GET(self):
        token = web.ctx.env.get('HTTP_X_SUBJECT_TOKEN', '')
        if not validate_token(token):
            raise self.http(401)

        return self._get_token_info()
示例#11
0
 def __call__(self, env, start_response):
     if validate_token(env.get('HTTP_X_AUTH_TOKEN', '')):
         return self.app(env, start_response)
     else:
         start_response('401 Unauthorized', [])
         return ''