afx

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2025 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AuthCheckModule = fx.Provide(
	func(
		l *zap.Logger,
		sSetting sfx.SecuritySettingsParams,
		params AuthClientParams,
	) (out sfx.AuthMiddlewareResult, err error) {
		out.AuthMiddleware = &Author{
			client:        params.AuthClient,
			unAuthMethods: map[string]struct{}{},
		}
		return
	},
)

AuthCheckModule is the module for grpc middleware

View Source
var AuthClientModule = fx.Provide(
	func(
		setting AuthSettingParams,
		sSetting sfx.SecuritySettingsParams,
	) (out AuthClientResult, err error) {
		if cli, e := NewAuthClient(setting.AuthUrl, sSetting); e != nil {
			err = e
		} else {
			out.AuthClient = cli
		}
		return
	},
)
View Source
var SettingsModule = fx.Provide(
	func() (out AuthSettingsResult, err error) {
		err = out.LoadFromEnv()
		return
	},
)
View Source
var SupabaseCheckModule = fx.Provide(
	func(
		l *zap.Logger,
		sSetting SupabaseSettingParams,
	) (out sfx.AuthMiddlewareResult, err error) {
		c, err := supabase.NewClient(sSetting.URL, sSetting.Key, nil)
		if err != nil {
			return
		}
		out.AuthMiddleware = &SupabaseAuthor{
			client:        c,
			unAuthMethods: map[string]struct{}{},
		}
		return
	},
)

SupabaseCheckModule is the supabase Auth module for grpc middleware

View Source
var SupabaseSettingsModule = fx.Provide(
	func() (out SupabaseSettingsResult, err error) {
		err = out.LoadFromEnv()
		return
	},
)

SupabaseSettingsModule is the supabase settings module you can find them in https://app.supabase.io/project/setting/api

Functions

func NewAuthClient

func NewAuthClient(host string, sSetting sfx.SecuritySettingsParams) (pb.AuthServiceClient, error)

Types

type AuthClientParams

type AuthClientParams struct {
	fx.In

	AuthClient pb.AuthServiceClient `name:"AuthClient"`
}

type AuthClientResult

type AuthClientResult struct {
	fx.Out

	AuthClient pb.AuthServiceClient `name:"AuthClient"`
}

type AuthSettingParams

type AuthSettingParams struct {
	fx.In

	AuthUrl        string `name:"AuthUrl"`
	AuthStoreName  string `name:"AuthStoreName"`
	JwtTokenSecret string `name:"JwtTokenSecret"`
	JwtTokenExpire int32  `name:"JwtTokenExpire"`
}

type AuthSettingsResult

type AuthSettingsResult struct {
	fx.Out

	AuthStoreName  string `name:"AuthStoreName" envconfig:"AUTH_STORE_NAME" default:"auth"`
	AuthUrl        string `name:"AuthUrl" envconfig:"AUTH_URL" default:"localhost:8081"`
	JwtTokenSecret string `name:"JwtTokenSecret" default:"" envconfig:"JWT_TOKEN_SECRET"`
	// JwtTokenExpire (hours)
	JwtTokenExpire int32 `name:"JwtTokenExpire" default:"12" envconfig:"JWT_TOKEN_EXPIRE"`
}

func (*AuthSettingsResult) LoadFromEnv

func (g *AuthSettingsResult) LoadFromEnv() (err error)

type Author

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

Author is auth for grpc middleware

func (*Author) AddUnAuthMethod

func (d *Author) AddUnAuthMethod(method string)

func (*Author) Auth

func (d *Author) Auth(ctx context.Context) (context.Context, error)

Auth will auth every grpc request

type SupabaseAuthor

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

SupabaseAuthor is auth for grpc middleware

func (*SupabaseAuthor) AddUnAuthMethod

func (d *SupabaseAuthor) AddUnAuthMethod(method string)

AddUnAuthMethod add unauth method

func (*SupabaseAuthor) Auth

Auth will auth every grpc request with supabase

type SupabaseSettingParams

type SupabaseSettingParams struct {
	fx.In

	URL string `name:"supabaseUrl"`
	Key string `name:"supabaseKey"`
}

SupabaseSettingParams module params for injecting SupabaseSettings

type SupabaseSettingsResult

type SupabaseSettingsResult struct {
	fx.Out

	URL string `name:"supabaseUrl" envconfig:"SUPABASE_URL" default:""`
	Key string `name:"supabaseKey" envconfig:"SUPABASE_KEY" default:""`
}

SupabaseSettingsResult module result for exporting SupabaseSettings

func (*SupabaseSettingsResult) LoadFromEnv

func (g *SupabaseSettingsResult) LoadFromEnv() (err error)

LoadFromEnv load from env

Jump to

Keyboard shortcuts

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