Documentation ¶
Overview ¶
Package storage provides encrypted data store on your local machine that can handle the process of getting refresh tokens for you.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Arrangement ¶
type Arrangement struct { // ID is how a given arrangement is found. ID string // RefreshToken is the refresh token for this arrangement. RefreshToken string // CDRArrangementID is the arrangement ID provided by the dataholder. CDRArrangementID string // ClientID is the dataholders client id for you. ClientID string // TokenEndpoint is the dataholders token endpoint TokenEndpoint string }
Arrangement represents an CDR arrangement with a dataholder.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store can track your access tokens and refresh tokens for you.
func New ¶
New opens a new connection to your data storage and uses the proviced secret for encryption/decription.
func (*Store) AccessToken ¶
AccessToken gets a new access token and refreshes the token in the database. This is an oppinionated function and relies on environment variables being configured for getting an MTLS certificate and signing a client assertion token. For a more flexible method of getting an access token use GetArrangement and cdr.RefreshToken.
func (*Store) GetArrangement ¶
func (s *Store) GetArrangement(id string) (Arrangement, error)
GetArrangement finds an arrangement for a given ID.
func (*Store) NewArrangement ¶
func (s *Store) NewArrangement(a Arrangement) error
NewArrangement saves a new arrangement into the local data store. After it is stored you will be able to fetch new access tokens automatically without worrying about refresh token exchange.