swauth

package
v0.5.27 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 10, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package swauth implements Swift's built-in authentication.

Example to Authenticate with swauth

authOpts := swauth.AuthOpts{
	User: "project:user",
	Key:  "password",
}

swiftClient, err := swauth.NewObjectStorageV1(providerClient, authOpts)
if err != nil {
	panic(err)
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewObjectStorageV1

func NewObjectStorageV1(pc *golangsdk.ProviderClient, authOpts AuthOpts) (*golangsdk.ServiceClient, error)

NewObjectStorageV1 creates a Swauth-authenticated *golangsdk.ServiceClient client that can issue ObjectStorage-based API calls.

Types

type AuthOpts

type AuthOpts struct {
	// User is an Swauth-based username in username:tenant format.
	User string `h:"X-Auth-User" required:"true"`

	// Key is a secret/password to authenticate the User with.
	Key string `h:"X-Auth-Key" required:"true"`
}

AuthOpts specifies an authentication request.

func (AuthOpts) ToAuthOptsMap

func (opts AuthOpts) ToAuthOptsMap() (map[string]string, error)

ToAuthOptsMap formats an AuthOpts structure into a request body.

type AuthOptsBuilder

type AuthOptsBuilder interface {
	ToAuthOptsMap() (map[string]string, error)
}

AuthOptsBuilder describes struct types that can be accepted by the Auth call.

type AuthResult

type AuthResult struct {
	Token      string `json:"X-Auth-Token"`
	StorageURL string `json:"X-Storage-Url"`
	CDNURL     string `json:"X-CDN-Management-Url"`
}

AuthResult contains the authentication information from a Swauth authentication request.

type GetAuthResult

type GetAuthResult struct {
	golangsdk.HeaderResult
}

GetAuthResult contains the response from the Auth request. Call its Extract method to interpret it as an AuthResult.

func Auth

func Auth(c *golangsdk.ProviderClient, opts AuthOptsBuilder) (r GetAuthResult)

Auth performs an authentication request for a Swauth-based user.

func (GetAuthResult) Extract

func (r GetAuthResult) Extract() (*AuthResult, error)

Extract is a method that attempts to interpret any Swauth authentication response as a AuthResult struct.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL