- return auth_token
- except ClientException as e:
- # self.logger.exception("Error during user authentication using keystone. Method: basic: {}".format(e))
- raise AuthException("Error during user authentication using Keystone: {}".format(e),
- http_code=HTTPStatus.UNAUTHORIZED)
+ scoped_token = self.keystone.get_raw_token_from_identity_service(
+ auth_url=self.auth_url,
+ project_name=project_name,
+ project_id=project_id,
+ user_domain_name=user_domain_name,
+ project_domain_name=project_domain_name,
+ token=unscoped_token["auth_token"])
+
+ auth_token = {
+ "_id": scoped_token.auth_token,
+ "id": scoped_token.auth_token,
+ "user_id": scoped_token.user_id,
+ "username": scoped_token.username,
+ "project_id": scoped_token.project_id,
+ "project_name": scoped_token.project_name,
+ "project_domain_name": scoped_token.project_domain_name,
+ "user_domain_name": scoped_token.user_domain_name,
+ "expires": scoped_token.expires.timestamp(),
+ "issued_at": scoped_token.issued.timestamp()
+ }
+
+ return auth_token
+ except ClientException as e:
+ if index >= len(user_domain_name_list)-1 or index >= len(project_domain_name_list)-1:
+ # if last try, launch exception
+ # self.logger.exception("Error during user authentication using keystone: {}".format(e))
+ raise AuthException("Error during user authentication using Keystone: {}".format(e),
+ http_code=HTTPStatus.UNAUTHORIZED)