bll

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2023 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthN

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

func (*AuthN) LoginOrNew

func (b *AuthN) LoginOrNew(ctx context.Context, input *AuthNInput) (*AuthNSessionOutput, error)

type AuthNInput

type AuthNInput struct {
	Idp        string   `json:"idp" cbor:"idp"`
	Aud        string   `json:"aud" cbor:"aud"`
	Sub        string   `json:"sub" cbor:"sub"`
	ExpiresIn  uint     `json:"expires_in" cbor:"expires_in"`
	Scope      []string `json:"scope" cbor:"scope"`
	Ip         string   `json:"ip" cbor:"ip"`
	DeviceID   string   `json:"device_id" cbor:"device_id"`
	DeviceDesc string   `json:"device_desc" cbor:"device_desc"`
	Payload    []byte   `json:"payload" cbor:"payload"`
	User       UserInfo `json:"user" cbor:"user"`
}

type AuthNOutput

type AuthNOutput struct {
	Idp string  `json:"idp" cbor:"idp"`
	Aud string  `json:"aud" cbor:"aud"`
	Sub string  `json:"sub" cbor:"sub"`
	UID util.ID `json:"uid" cbor:"uid"`
}

type AuthNSessionOutput added in v0.2.0

type AuthNSessionOutput struct {
	SID           util.ID   `json:"sid" cbor:"sid"`
	UID           util.ID   `json:"uid" cbor:"uid"`
	Sub           util.UUID `json:"sub" cbor:"sub"`
	Session       string    `json:"session" cbor:"session"`
	UserCreatedAt int64     `json:"user_created_at" cbor:"user_created_at"`
}

type Blls

type Blls struct {
	AuthN   *AuthN
	Session *Session
	// contains filtered or unexported fields
}

Blls ...

func NewBlls

func NewBlls(svc *service.Userbase, oss *service.OSS) *Blls

NewBlls ...

func (*Blls) Stats

func (b *Blls) Stats(ctx context.Context) (res map[string]any, err error)

type Session

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

func (*Session) AccessToken

func (b *Session) AccessToken(ctx context.Context, input *SessionInput) (*SessionOutput, error)

func (*Session) Delete added in v0.5.0

func (b *Session) Delete(ctx context.Context, sid util.ID) (*SuccessResponse[bool], error)

func (*Session) UserInfo

func (b *Session) UserInfo(ctx context.Context, uid util.ID) (*UserInfo, error)

func (*Session) Verify

func (b *Session) Verify(ctx context.Context, input *SessionInput) (*SessionOutput, error)

type SessionInput

type SessionInput struct {
	Session   string   `json:"session" cbor:"session"`
	Aud       *util.ID `json:"aud" cbor:"aud"`
	ExpiresIn uint     `json:"expires_in" cbor:"expires_in"`
}

type SessionOutput

type SessionOutput struct {
	SID         *util.ID   `json:"sid,omitempty" cbor:"sid,omitempty"`
	Sub         *util.UUID `json:"sub,omitempty" cbor:"sub,omitempty"`
	UID         *util.ID   `json:"uid,omitempty" cbor:"uid,omitempty"`
	AccessToken string     `json:"access_token,omitempty" cbor:"access_token,omitempty"`
	IDToken     string     `json:"id_token,omitempty" cbor:"id_token,omitempty"`
	ExpiresIn   uint       `json:"expires_in,omitempty" cbor:"expires_in,omitempty"`
}

type SuccessResponse

type SuccessResponse[T any] struct {
	Result T `json:"result" cbor:"result"`
}

type UpdateUserInput added in v0.2.0

type UpdateUserInput struct {
	ID        util.ID `json:"id" cbor:"id"`
	UpdatedAt int64   `json:"updated_at" cbor:"updated_at"`
	Picture   string  `json:"picture,omitempty" cbor:"picture,omitempty"`
}

type UserInfo

type UserInfo struct {
	CN      string `json:"cn" cbor:"cn"`
	Name    string `json:"name" cbor:"name"`
	Locale  string `json:"locale" cbor:"locale"`
	Picture string `json:"picture" cbor:"picture"`
	Status  int8   `json:"status" cbor:"status"`
}

Jump to

Keyboard shortcuts

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