package trustednets // TODO: This doesn't work at all import ( "dynatron.me/x/blasphem/pkg/auth/provider" "dynatron.me/x/blasphem/pkg/storage" ) type User struct { UserID string `json:"user_id"` provider.AuthProvider `json:"-"` } func (hau *User) UserData() interface{} { return UserData{ UserID: hau.UserID, } } type UserData struct { UserID string `json:"user_id"` } const TrustedNetworks = "trusted_networks" func (h *User) ProviderUserData() interface{} { return h.UserData() } type TrustedNetworksProvider struct { provider.AuthProviderBase `json:"-"` } func New(s storage.Store) (provider.AuthProvider, error) { hap := &TrustedNetworksProvider{ AuthProviderBase: provider.AuthProviderBase{ Name: "Trusted Networks", Type: TrustedNetworks, }, } return hap, nil } // TODO: To implement this, ValidateCreds needs to be changed to accept an http.Request, or the echo context. func (hap *TrustedNetworksProvider) ValidateCreds(rm map[string]interface{}) (provider.ProviderUser, bool) { return nil, false } func (hap *TrustedNetworksProvider) NewCredData() interface{} { return &UserData{} } func (hap *TrustedNetworksProvider) FlowSchema() []provider.FlowSchemaItem { return []provider.FlowSchemaItem{ { Type: "string", Name: "username", Required: true, }, { Type: "string", Name: "password", Required: true, }, } } func init() { provider.Register(TrustedNetworks, New) }