This is the new way of authenticating with remote oVirt instance starting with oVirt 4.0. --- src/virt-viewer-file.c | 30 +++++++++++++++++++++++++++++- src/virt-viewer-file.h | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/virt-viewer-file.c b/src/virt-viewer-file.c index 2f1eb2b..9ff2a05 100644 --- a/src/virt-viewer-file.c +++ b/src/virt-viewer-file.c @@ -77,7 +77,11 @@ * - host: string containing the URL of the oVirt engine * - vm-guid: string containing the guid of the oVirt VM we are connecting to * - jsessionid: string containing an authentication cookie to be used to - * connect to the oVirt engine without being asked for credentials + * connect to the oVirt engine without being asked for credentials with oVirt + * 3.6 + * - sso-token: string containing an authentication cookie to be used to + * connect to the oVirt engine without being asked for credentials with oVirt + * 4.0 and newer * - ca: string PEM data (use \n to separate the lines) * - admin: boolean (0 or 1) indicating whether the VM is visible in the user or * admin portal @@ -130,6 +134,7 @@ enum { PROP_OVIRT_HOST, PROP_OVIRT_VM_GUID, PROP_OVIRT_JSESSIONID, + PROP_OVIRT_SSO_TOKEN, PROP_OVIRT_CA, }; @@ -746,6 +751,19 @@ virt_viewer_file_set_ovirt_jsessionid(VirtViewerFile* self, const gchar* value) } gchar* +virt_viewer_file_get_ovirt_sso_token(VirtViewerFile* self) +{ + return virt_viewer_file_get_string(self, OVIRT_GROUP, "sso-token"); +} + +void +virt_viewer_file_set_ovirt_sso_token(VirtViewerFile* self, const gchar* value) +{ + virt_viewer_file_set_string(self, OVIRT_GROUP, "sso-token", value); + g_object_notify(G_OBJECT(self), "ovirt-sso-token"); +} + +gchar* virt_viewer_file_get_ovirt_ca(VirtViewerFile* self) { return virt_viewer_file_get_string(self, OVIRT_GROUP, "ca"); @@ -995,6 +1013,9 @@ virt_viewer_file_set_property(GObject* object, guint property_id, case PROP_OVIRT_JSESSIONID: virt_viewer_file_set_ovirt_jsessionid(self, g_value_get_string(value)); break; + case PROP_OVIRT_SSO_TOKEN: + virt_viewer_file_set_ovirt_sso_token(self, g_value_get_string(value)); + break; case PROP_OVIRT_CA: virt_viewer_file_set_ovirt_ca(self, g_value_get_string(value)); break; @@ -1104,6 +1125,9 @@ virt_viewer_file_get_property(GObject* object, guint property_id, case PROP_OVIRT_JSESSIONID: g_value_take_string(value, virt_viewer_file_get_ovirt_jsessionid(self)); break; + case PROP_OVIRT_SSO_TOKEN: + g_value_take_string(value, virt_viewer_file_get_ovirt_sso_token(self)); + break; case PROP_OVIRT_CA: g_value_take_string(value, virt_viewer_file_get_ovirt_ca(self)); break; @@ -1266,6 +1290,10 @@ virt_viewer_file_class_init(VirtViewerFileClass* klass) g_param_spec_string("ovirt-jsessionid", "ovirt-jsessionid", "ovirt-jsessionid", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE)); + g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_OVIRT_SSO_TOKEN, + g_param_spec_string("ovirt-sso-token", "ovirt-sso-token", "ovirt-sso-token", NULL, + G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE)); + g_object_class_install_property(G_OBJECT_CLASS(klass), PROP_OVIRT_CA, g_param_spec_string("ovirt-ca", "ovirt-ca", "ovirt-ca", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE)); diff --git a/src/virt-viewer-file.h b/src/virt-viewer-file.h index fb705fb..6b783f9 100644 --- a/src/virt-viewer-file.h +++ b/src/virt-viewer-file.h @@ -119,6 +119,8 @@ gchar* virt_viewer_file_get_ovirt_vm_guid(VirtViewerFile* self); void virt_viewer_file_set_ovirt_vm_guid(VirtViewerFile* self, const gchar* value); gchar* virt_viewer_file_get_ovirt_jsessionid(VirtViewerFile* self); void virt_viewer_file_set_ovirt_jsessionid(VirtViewerFile* self, const gchar* value); +gchar* virt_viewer_file_get_ovirt_sso_token(VirtViewerFile* self); +void virt_viewer_file_set_ovirt_sso_token(VirtViewerFile* self, const gchar* value); gchar* virt_viewer_file_get_ovirt_ca(VirtViewerFile* self); void virt_viewer_file_set_ovirt_ca(VirtViewerFile* self, const gchar* value); -- 2.7.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list