Documentation ¶
Overview ¶
Copyright 2019, Oath Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Client *zms.ZMSClient Header string Domain string // Athenz domain Service string // Athenz service PrivateKeyProvider PrivateKeyProvider // source for private keys TokenExpiry time.Duration // token expire time }
Config is the token provider configuration.
type PrivateKeyProvider ¶
type PrivateKeyProvider func() (*crypto.SigningKey, error)
PrivateKeyProvider returns a signing key on demand.
type TokenProvider ¶
type TokenProvider struct {
// contains filtered or unexported fields
}
TokenProvider implements tokenProvider provides nTokens
func NewTokenProvider ¶
func NewTokenProvider(config Config, stopCh <-chan struct{}) (*TokenProvider, error)
NewTokenProvider returns a token for the supplied configuration.
func (*TokenProvider) Token ¶
func (tp *TokenProvider) Token() (string, error)
Token implements the tokenProvider interface
func (*TokenProvider) UpdateToken ¶
func (tp *TokenProvider) UpdateToken() error
UpdateToken - creates new nToken after there was no token or the existing token has expired