Extract the new token from headers.
diff --git a/openstack/identity/v3/tokens/results.go b/openstack/identity/v3/tokens/results.go
index ca727c3..0f44744 100644
--- a/openstack/identity/v3/tokens/results.go
+++ b/openstack/identity/v3/tokens/results.go
@@ -1,9 +1,12 @@
 package tokens
 
 // TokenCreateResult contains the document structure returned from a Create call.
-type TokenCreateResult map[string]interface{}
+type TokenCreateResult struct {
+	response map[string]interface{}
+	tokenID  string
+}
 
 // TokenID retrieves a token generated by a Create call from an token creation response.
-func (r TokenCreateResult) TokenID() (string, error) {
-	return "", nil
+func (r *TokenCreateResult) TokenID() (string, error) {
+	return r.tokenID, nil
 }