Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion base.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ type BaseSystemConfig struct {
RateAppTemplate string `json:"rate_app_template"` // HTML email template
}

type AfterAuthenticateFn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, session *api.Session) error
type AfterAuthenticateFn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, session *api.Session, provider AuthProvider) error

Comment on lines +74 to 75
type CollectionResolverFn func(ctx context.Context, systemType SystemType, collection string) (string, error)

Expand Down Expand Up @@ -142,6 +142,20 @@ const (
SystemTypeRewardMailbox
)

type AuthProvider string

const (
AuthProviderApple AuthProvider = "Apple"
AuthProviderCustom AuthProvider = "Custom"
AuthProviderDevice AuthProvider = "Device"
AuthProviderEmail AuthProvider = "Email"
AuthProviderFacebook AuthProvider = "Facebook"
AuthProviderFacebookInstantGame AuthProvider = "FacebookInstantGame"
AuthProviderGameCenter AuthProvider = "GameCenter"
AuthProviderGoogle AuthProvider = "Google"
AuthProviderSteam AuthProvider = "Steam"
)

// Init initializes a Hiro type with the configurations provided.
func Init(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, initializer runtime.Initializer, binPath string, licenseKey string, configs ...SystemConfig) (Hiro, error) {
// Open the plugin.
Expand Down
2 changes: 1 addition & 1 deletion personalizer_satori.go
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ type SatoriPersonalizer struct {
cache map[context.Context]*SatoriPersonalizerCache
}

func (p *SatoriPersonalizer) Authenticate(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, userID string, created bool) {
func (p *SatoriPersonalizer) Authenticate(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, userID string, created bool, provider AuthProvider) {
if !p.IsPublishAuthenticateRequest() && !p.IsPublishAuthenticateRequestWithSession() {
return
}
Expand Down
2 changes: 1 addition & 1 deletion publisher.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ type PublisherEvent struct {
type Publisher interface {
// Authenticate is called every time a user authenticates with Hiro. The 'created' flag is true if this
// is a newly created user account, and each implementation may choose to handle this as it chooses.
Authenticate(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, userID string, created bool)
Authenticate(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, userID string, created bool, provider AuthProvider)

// Send is called when there are one or more events generated.
Send(ctx context.Context, logger runtime.Logger, nk runtime.NakamaModule, userID string, events []*PublisherEvent)
Expand Down
Loading