Fiware Keyrock如何从python密钥客户端进行身份验证

Fiware Keyrock如何从python密钥客户端进行身份验证,fiware,keystone,Fiware,Keystone,我正在使用fiware idm。我发现PythonKeystone客户机可以轻松地与KeystoneAPI交互。 但我在身份验证方面有问题。使用默认的“idm”用户创建普通用户这不是问题。但我找不到方法来吸引这个用户 这是我的测试样本: 创建用户: def create_user(): user = keystone.users.create(name="user4", default_project="idm",

我正在使用fiware idm。我发现PythonKeystone客户机可以轻松地与KeystoneAPI交互。 但我在身份验证方面有问题。使用默认的“idm”用户创建普通用户这不是问题。但我找不到方法来吸引这个用户

这是我的测试样本: 创建用户:

def create_user():
   user = keystone.users.create(name="user4",
                             default_project="idm",
                             domain="default",
                             password="qwerty",
                             email="user4@email.com",
                             description="this is user description",
                             enabled=True,
                             username="user4")
   return user
身份验证:

auth = v3.Password(auth_url="http://192.168.33.10:5001/v3",
               username="user4",
               password="qwerty",
               domain_name="idm"
               )
sess = session.Session(auth=auth)
keystone = client.Client(session=sess)
print keystone.users.list()
它写道:

keystoneclient.exceptions.Unauthorized: The request you have made requires authentication. (HTTP 401)

在回答您最后的评论时,@beka,这似乎是4.4.1版云门户映像上的一个问题


它将在本周发布的版本5.1.0中修复,因此我建议您使用该版本的图像。

您正在“默认”域中创建用户,并在“idm”域@Álvaronso中对其进行身份验证。您能告诉我为什么我的应用程序中没有客户端id和客户端密钥吗。这是在FIWARE Cloud Portal托管的Keyrock实例中,您似乎不是该应用程序的所有者我想我是该应用程序的所有者我使用当前登录的用户创建应用程序,当我使用当前用户创建应用程序时,此凭据仍然不可用。请检查您在应用程序中是否有角色“提供程序”,该角色现在可用。