invalidatetoken

package
v9.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Invalidate a token.

The access tokens returned by the get token API have a finite period of time for which they are valid. After that time period, they can no longer be used. The time period is defined by the `xpack.security.authc.token.timeout` setting.

The refresh tokens returned by the get token API are only valid for 24 hours. They can also be used exactly once. If you want to invalidate one or more access or refresh tokens immediately, use this invalidate token API.

NOTE: While all parameters are optional, at least one of them is required. More specifically, either one of `token` or `refresh_token` parameters is required. If none of these two are specified, then `realm_name` and/or `username` need to be specified.

Index

Constants

This section is empty.

Variables

View Source
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")

ErrBuildPath is returned in case of missing parameters within the build of the request.

Functions

This section is empty.

Types

type InvalidateToken

type InvalidateToken struct {
	// contains filtered or unexported fields
}

func New

Invalidate a token.

The access tokens returned by the get token API have a finite period of time for which they are valid. After that time period, they can no longer be used. The time period is defined by the `xpack.security.authc.token.timeout` setting.

The refresh tokens returned by the get token API are only valid for 24 hours. They can also be used exactly once. If you want to invalidate one or more access or refresh tokens immediately, use this invalidate token API.

NOTE: While all parameters are optional, at least one of them is required. More specifically, either one of `token` or `refresh_token` parameters is required. If none of these two are specified, then `realm_name` and/or `username` need to be specified.

https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-invalidate-token

func (InvalidateToken) Do

func (r InvalidateToken) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a invalidatetoken.Response

func (*InvalidateToken) ErrorTrace

func (r *InvalidateToken) ErrorTrace(errortrace bool) *InvalidateToken

ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace

func (*InvalidateToken) FilterPath

func (r *InvalidateToken) FilterPath(filterpaths ...string) *InvalidateToken

FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path

func (*InvalidateToken) Header

func (r *InvalidateToken) Header(key, value string) *InvalidateToken

Header set a key, value pair in the InvalidateToken headers map.

func (*InvalidateToken) HttpRequest

func (r *InvalidateToken) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*InvalidateToken) Human

func (r *InvalidateToken) Human(human bool) *InvalidateToken

Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"exists_time_in_millis": 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines. API name: human

func (InvalidateToken) Perform

func (r InvalidateToken) Perform(providedCtx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*InvalidateToken) Pretty

func (r *InvalidateToken) Pretty(pretty bool) *InvalidateToken

Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty

func (*InvalidateToken) Raw

Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.

func (*InvalidateToken) RealmName

func (r *InvalidateToken) RealmName(name string) *InvalidateToken

The name of an authentication realm. This parameter cannot be used with either `refresh_token` or `token`. API name: realm_name

func (*InvalidateToken) RefreshToken

func (r *InvalidateToken) RefreshToken(refreshtoken string) *InvalidateToken

A refresh token. This parameter cannot be used if any of `refresh_token`, `realm_name`, or `username` are used. API name: refresh_token

func (*InvalidateToken) Request

func (r *InvalidateToken) Request(req *Request) *InvalidateToken

Request allows to set the request property with the appropriate payload.

func (*InvalidateToken) Token

func (r *InvalidateToken) Token(token string) *InvalidateToken

An access token. This parameter cannot be used if any of `refresh_token`, `realm_name`, or `username` are used. API name: token

func (*InvalidateToken) Username

func (r *InvalidateToken) Username(username string) *InvalidateToken

The username of a user. This parameter cannot be used with either `refresh_token` or `token`. API name: username

type NewInvalidateToken

type NewInvalidateToken func() *InvalidateToken

NewInvalidateToken type alias for index.

func NewInvalidateTokenFunc

func NewInvalidateTokenFunc(tp elastictransport.Interface) NewInvalidateToken

NewInvalidateTokenFunc returns a new instance of InvalidateToken with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type Request

type Request struct {

	// RealmName The name of an authentication realm.
	// This parameter cannot be used with either `refresh_token` or `token`.
	RealmName *string `json:"realm_name,omitempty"`
	// RefreshToken A refresh token.
	// This parameter cannot be used if any of `refresh_token`, `realm_name`, or
	// `username` are used.
	RefreshToken *string `json:"refresh_token,omitempty"`
	// Token An access token.
	// This parameter cannot be used if any of `refresh_token`, `realm_name`, or
	// `username` are used.
	Token *string `json:"token,omitempty"`
	// Username The username of a user.
	// This parameter cannot be used with either `refresh_token` or `token`.
	Username *string `json:"username,omitempty"`
}

Request holds the request body struct for the package invalidatetoken

https://github.com/elastic/elasticsearch-specification/blob/907d11a72a6bfd37b777d526880c56202889609e/specification/security/invalidate_token/SecurityInvalidateTokenRequest.ts#L23-L71

func NewRequest

func NewRequest() *Request

NewRequest returns a Request

func (*Request) FromJSON

func (r *Request) FromJSON(data string) (*Request, error)

FromJSON allows to load an arbitrary json into the request structure

func (*Request) UnmarshalJSON

func (s *Request) UnmarshalJSON(data []byte) error

type Response

type Response struct {

	// ErrorCount The number of errors that were encountered when invalidating the tokens.
	ErrorCount int64 `json:"error_count"`
	// ErrorDetails Details about the errors.
	// This field is not present in the response when `error_count` is `0`.
	ErrorDetails []types.ErrorCause `json:"error_details,omitempty"`
	// InvalidatedTokens The number of the tokens that were invalidated as part of this request.
	InvalidatedTokens int64 `json:"invalidated_tokens"`
	// PreviouslyInvalidatedTokens The number of tokens that were already invalidated.
	PreviouslyInvalidatedTokens int64 `json:"previously_invalidated_tokens"`
}

Response holds the response body struct for the package invalidatetoken

https://github.com/elastic/elasticsearch-specification/blob/907d11a72a6bfd37b777d526880c56202889609e/specification/security/invalidate_token/SecurityInvalidateTokenResponse.ts#L23-L46

func NewResponse

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

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