Documentation
¶
Overview ¶
Package authn provides AuthN API over HTTP(S)
- Copyright (c) 2018-2025, NVIDIA CORPORATION. All rights reserved.
Package authn provides AuthN API over HTTP(S)
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package authn provides AuthN API over HTTP(S)
- Copyright (c) 2018-2025, NVIDIA CORPORATION. All rights reserved.
Package authn provides AuthN API over HTTP(S)
- Copyright (c) 2018-2025, NVIDIA CORPORATION. All rights reserved.
Package authn provides AuthN API over HTTP(S)
- Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved.
Index ¶
- Constants
- func AddRole(bp api.BaseParams, roleSpec *Role) error
- func AddUser(bp api.BaseParams, newUser *User) error
- func DeleteRole(bp api.BaseParams, role string) error
- func DeleteUser(bp api.BaseParams, userID string) error
- func GetJWKS(bp api.BaseParams) (*json.RawMessage, error)
- func LoadToken(tokenFile string) (string, error)
- func RegisterCluster(bp api.BaseParams, cluSpec CluACL) error
- func RevokeToken(bp api.BaseParams, token string) error
- func SetConfig(bp api.BaseParams, conf *ConfigToUpdate) error
- func UnregisterCluster(bp api.BaseParams, spec CluACL) error
- func UpdateCluster(bp api.BaseParams, cluSpec CluACL) error
- func UpdateRole(bp api.BaseParams, roleSpec *Role) error
- func UpdateUser(bp api.BaseParams, user *User) error
- type BckACL
- type CluACL
- type Config
- type ConfigToUpdate
- type HTTPConf
- type LogConf
- type LoginMsg
- type NetConf
- type OIDCConfiguration
- type RegisteredClusters
- type Role
- type ServerConf
- type ServerConfToSet
- type TimeoutConf
- type TokenList
- type TokenMsg
- type User
Constants ¶
const ( SigningMethodHS256 = "HS256" SigningMethodRS256 = "RS256" )
const (
AdminRole = "Admin"
)
Variables ¶
This section is empty.
Functions ¶
func DeleteRole ¶
func DeleteRole(bp api.BaseParams, role string) error
func DeleteUser ¶
func DeleteUser(bp api.BaseParams, userID string) error
func GetJWKS ¶ added in v1.4.2
func GetJWKS(bp api.BaseParams) (*json.RawMessage, error)
GetJWKS returns the raw JSON from the JWKS endpoint While it may be useful to return the parsed jwk.Set here, this avoids requiring all clients (including CLI) to include the jwx library in dependencies
func LoadToken ¶
LoadToken retrieves the authentication token from the specified tokenFile, environment variables, or default location (CLI config).
func RegisterCluster ¶
func RegisterCluster(bp api.BaseParams, cluSpec CluACL) error
func RevokeToken ¶
func RevokeToken(bp api.BaseParams, token string) error
func SetConfig ¶
func SetConfig(bp api.BaseParams, conf *ConfigToUpdate) error
func UnregisterCluster ¶
func UnregisterCluster(bp api.BaseParams, spec CluACL) error
func UpdateCluster ¶
func UpdateCluster(bp api.BaseParams, cluSpec CluACL) error
func UpdateRole ¶
func UpdateRole(bp api.BaseParams, roleSpec *Role) error
func UpdateUser ¶
func UpdateUser(bp api.BaseParams, user *User) error
Types ¶
type BckACL ¶
type BckACL struct {
Bck cmn.Bck `json:"bck"`
Access apc.AccessAttrs `json:"perm,string"`
}
type CluACL ¶
type CluACL struct {
ID string `json:"id"`
Alias string `json:"alias,omitempty"`
URLs []string `json:"urls,omitempty"`
Access apc.AccessAttrs `json:"perm,string,omitempty"`
}
func GetRegisteredClusters ¶
func GetRegisteredClusters(bp api.BaseParams, spec CluACL) ([]*CluACL, error)
type Config ¶
type Config struct {
Server ServerConf `json:"auth"`
Log LogConf `json:"log"`
Net NetConf `json:"net"`
Timeout TimeoutConf `json:"timeout"`
}
type ConfigToUpdate ¶
type ConfigToUpdate struct {
Server *ServerConfToSet `json:"auth"`
}
type OIDCConfiguration ¶ added in v1.4.2
type OIDCConfiguration struct {
Issuer string `json:"issuer"`
TokenEndpoint string `json:"token_endpoint"`
UserinfoEndpoint string `json:"userinfo_endpoint,omitempty"`
JWKSURI string `json:"jwks_uri"`
IDTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported"`
}
OIDCConfiguration -- Partial implementation of OIDC spec: https://openid.net/specs/openid-connect-discovery-1_0.html
func GetOIDCConfig ¶ added in v1.4.2
func GetOIDCConfig(bp api.BaseParams) (*OIDCConfiguration, error)
func NewOIDCConfiguration ¶ added in v1.4.2
func NewOIDCConfiguration(base *url.URL) *OIDCConfiguration
type RegisteredClusters ¶
type Role ¶
type Role struct {
Name string `json:"name"`
Description string `json:"desc"`
ClusterACLs []*CluACL `json:"clusters"`
BucketACLs []*BckACL `json:"buckets"`
IsAdmin bool `json:"admin"`
}
func GetAllRoles ¶
func GetAllRoles(bp api.BaseParams) ([]*Role, error)
type ServerConf ¶
type ServerConf struct {
Secret string `json:"secret"`
// Determines when the secret or key expires
// Also used to determine max-age for client caches of JWKS
Expire cos.Duration `json:"expiration_time"`
PubKey *string `json:"public_key"`
// Size of RSA private key to generate
RSAKeyBits int `json:"rsa_key_bits"`
// contains filtered or unexported fields
}
type ServerConfToSet ¶ added in v1.3.21
type TimeoutConf ¶
type TokenMsg ¶
type TokenMsg struct {
Token string `json:"token"`
}
func LoginUser ¶
func LoginUser(bp api.BaseParams, userID, pass string, expire *time.Duration) (token *TokenMsg, err error)
Authorize a user and return a user token in case of success. The token expires in `expire` time. If `expire` is `nil` the expiration time is set by AuthN (default AuthN expiration time is 24 hours)