Explicitly auth against v3 in v3 tests.

Skip v3 tests altogether if no USERID is set.
diff --git a/acceptance/openstack/identity/v3/identity_test.go b/acceptance/openstack/identity/v3/identity_test.go
index eea3737..ec184a0 100644
--- a/acceptance/openstack/identity/v3/identity_test.go
+++ b/acceptance/openstack/identity/v3/identity_test.go
@@ -18,12 +18,22 @@
 	// Trim out unused fields.
 	ao.Username, ao.TenantID, ao.TenantName = "", "", ""
 
-	// Create an authenticated client.
-	providerClient, err := openstack.AuthenticatedClient(ao)
+	if ao.UserID == "" {
+		t.Logf("Skipping identity v3 tests because no OS_USERID is present.")
+		return nil
+	}
+
+	// Create a client and manually authenticate against v3.
+	providerClient, err := openstack.NewClient(ao.IdentityEndpoint)
 	if err != nil {
 		t.Fatalf("Unable to instantiate client: %v", err)
 	}
 
+	err = openstack.AuthenticateV3(providerClient, ao)
+	if err != nil {
+		t.Fatalf("Unable to authenticate against identity v3: %v", err)
+	}
+
 	// Create a service client.
 	return openstack.NewIdentityV3(providerClient)
 }