Documentation
¶
Index ¶
- Variables
- type APIKeyTokenVerifier
- type AccessToken
- func (t *AccessToken) AddGrant(grant *VideoGrant) *AccessToken
- func (t *AccessToken) SetIdentity(identity string) *AccessToken
- func (t *AccessToken) SetMetadata(md string) *AccessToken
- func (t *AccessToken) SetName(name string) *AccessToken
- func (t *AccessToken) SetSha256(sha string) *AccessToken
- func (t *AccessToken) SetValidFor(duration time.Duration) *AccessToken
- func (t *AccessToken) ToJWT() (string, error)
- type ClaimGrants
- type FileBasedKeyProvider
- type KeyProvider
- type SimpleKeyProvider
- type TokenVerifier
- type VideoGrant
- func (v *VideoGrant) GetCanPublish() bool
- func (v *VideoGrant) GetCanPublishData() bool
- func (v *VideoGrant) GetCanSubscribe() bool
- func (v *VideoGrant) SetCanPublish(val bool)
- func (v *VideoGrant) SetCanPublishData(val bool)
- func (v *VideoGrant) SetCanSubscribe(val bool)
- func (v *VideoGrant) ToPermission() *livekit.ParticipantPermission
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrKeysMissing = errors.New("missing API key or secret key")
)
Functions ¶
This section is empty.
Types ¶
type APIKeyTokenVerifier ¶
type APIKeyTokenVerifier struct {
// contains filtered or unexported fields
}
func ParseAPIToken ¶
func ParseAPIToken(raw string) (*APIKeyTokenVerifier, error)
ParseAPIToken parses an encoded JWT token and
func (*APIKeyTokenVerifier) APIKey ¶
func (v *APIKeyTokenVerifier) APIKey() string
APIKey returns the API key this token was signed with
func (*APIKeyTokenVerifier) Identity ¶
func (v *APIKeyTokenVerifier) Identity() string
func (*APIKeyTokenVerifier) Verify ¶
func (v *APIKeyTokenVerifier) Verify(key interface{}) (*ClaimGrants, error)
type AccessToken ¶
type AccessToken struct {
// contains filtered or unexported fields
}
AccessToken produces token signed with API key and secret
func NewAccessToken ¶
func NewAccessToken(key string, secret string) *AccessToken
func (*AccessToken) AddGrant ¶
func (t *AccessToken) AddGrant(grant *VideoGrant) *AccessToken
func (*AccessToken) SetIdentity ¶
func (t *AccessToken) SetIdentity(identity string) *AccessToken
func (*AccessToken) SetMetadata ¶
func (t *AccessToken) SetMetadata(md string) *AccessToken
func (*AccessToken) SetName ¶ added in v0.11.5
func (t *AccessToken) SetName(name string) *AccessToken
func (*AccessToken) SetSha256 ¶ added in v0.7.2
func (t *AccessToken) SetSha256(sha string) *AccessToken
func (*AccessToken) SetValidFor ¶
func (t *AccessToken) SetValidFor(duration time.Duration) *AccessToken
func (*AccessToken) ToJWT ¶
func (t *AccessToken) ToJWT() (string, error)
type ClaimGrants ¶
type ClaimGrants struct {
Identity string `json:"-"`
Name string `json:"name,omitempty"`
Video *VideoGrant `json:"video,omitempty"`
// for verifying integrity of the message body
Sha256 string `json:"sha256,omitempty"`
Metadata string `json:"metadata,omitempty"`
}
type FileBasedKeyProvider ¶
type FileBasedKeyProvider struct {
// contains filtered or unexported fields
}
func NewFileBasedKeyProviderFromMap ¶
func NewFileBasedKeyProviderFromMap(keys map[string]string) *FileBasedKeyProvider
func NewFileBasedKeyProviderFromReader ¶
func NewFileBasedKeyProviderFromReader(r io.Reader) (p *FileBasedKeyProvider, err error)
func (*FileBasedKeyProvider) GetSecret ¶
func (p *FileBasedKeyProvider) GetSecret(key string) string
func (*FileBasedKeyProvider) NumKeys ¶
func (p *FileBasedKeyProvider) NumKeys() int
type KeyProvider ¶
type SimpleKeyProvider ¶ added in v0.13.0
type SimpleKeyProvider struct {
// contains filtered or unexported fields
}
func NewSimpleKeyProvider ¶ added in v0.13.0
func NewSimpleKeyProvider(apiKey, apiSecret string) *SimpleKeyProvider
func (*SimpleKeyProvider) GetSecret ¶ added in v0.13.0
func (p *SimpleKeyProvider) GetSecret(key string) string
func (*SimpleKeyProvider) NumKeys ¶ added in v0.13.0
func (p *SimpleKeyProvider) NumKeys() int
type TokenVerifier ¶
type TokenVerifier interface {
Identity() string
Verify(key interface{}) (*ClaimGrants, error)
}
type VideoGrant ¶
type VideoGrant struct {
// actions on rooms
RoomCreate bool `json:"roomCreate,omitempty"`
RoomList bool `json:"roomList,omitempty"`
RoomRecord bool `json:"roomRecord,omitempty"`
// actions on a particular room
RoomAdmin bool `json:"roomAdmin,omitempty"`
RoomJoin bool `json:"roomJoin,omitempty"`
Room string `json:"room,omitempty"`
// permissions within a room, if none of the permissions are set
// it's interpreted as both are permissible
CanPublish *bool `json:"canPublish,omitempty"`
CanSubscribe *bool `json:"canSubscribe,omitempty"`
CanPublishData *bool `json:"canPublishData,omitempty"`
// participant is not visible to other participants
Hidden bool `json:"hidden,omitempty"`
// indicates to the room that current participant is a recorder
Recorder bool `json:"recorder,omitempty"`
}
func (*VideoGrant) GetCanPublish ¶ added in v0.12.0
func (v *VideoGrant) GetCanPublish() bool
func (*VideoGrant) GetCanPublishData ¶ added in v0.12.0
func (v *VideoGrant) GetCanPublishData() bool
func (*VideoGrant) GetCanSubscribe ¶ added in v0.12.0
func (v *VideoGrant) GetCanSubscribe() bool
func (*VideoGrant) SetCanPublish ¶ added in v0.7.3
func (v *VideoGrant) SetCanPublish(val bool)
func (*VideoGrant) SetCanPublishData ¶ added in v0.7.3
func (v *VideoGrant) SetCanPublishData(val bool)
func (*VideoGrant) SetCanSubscribe ¶ added in v0.7.3
func (v *VideoGrant) SetCanSubscribe(val bool)
func (*VideoGrant) ToPermission ¶ added in v0.12.0
func (v *VideoGrant) ToPermission() *livekit.ParticipantPermission
Click to show internal directories.
Click to hide internal directories.