code: func Auth(c *gophercloud.ProviderClient, opts AuthOptsBuilder) (r GetAuthResult) {
  	h := make(map[string]string)
  
  	if opts != nil {
  		headers, err := opts.ToAuthOptsMap()
  		if err != nil {
  			r.Err = err
  			return
  		}
  
  		for k, v := range headers {
  			h[k] = v
  		}
  	}
  
  	resp, err := c.Request("GET", getURL(c), &gophercloud.RequestOpts{
  		MoreHeaders: h,
  		OkCodes:     []int{200},
  	})
  
  	if resp != nil {
  		r.Header = resp.Header
  	}
  
  	r.Err = err
  
  	return r
  }
docs: // Auth performs an authentication request for a Swauth-based user.