AttrConfig is attribute configuration information
type AttrConfig struct {
Names []string `help:"The names of LDAP attributes to request on an LDAP search"`
Converters []NameVal // Used to convert an LDAP entry into a fabric-ca-server attribute
Maps map[string][]NameVal // Use to map an LDAP response to fabric-ca-server names
}
Client is an LDAP client
type Client struct {
Host string
Port int
UseSSL bool
AdminDN string
AdminPassword string
Base string
UserFilter string // e.g. "(uid=%s)"
GroupFilter string // e.g. "(memberUid=%s)"
AdminConn *ldap.Conn
TLS *ctls.ClientTLSConfig
CSP bccsp.BCCSP
// contains filtered or unexported fields
}
func NewClient(cfg *Config, csp bccsp.BCCSP) (*Client, error)
NewClient creates an LDAP client
func (lc *Client) DeleteAffiliation(name string, force, identityRemoval, isRegistrar bool) (*causer.DbTxResult, error)
DeleteAffiliation deletes an affiliation group
func (lc *Client) DeleteUser(id string) (causer.User, error)
DeleteUser deletes a user
func (lc *Client) GetAffiliation(name string) (spi.Affiliation, error)
GetAffiliation returns an affiliation group
func (lc *Client) GetAffiliationTree(name string) (*causer.DbTxResult, error)
GetAffiliationTree returns the requested affiliations and all affiliations below it
func (lc *Client) GetAllAffiliations(name string) (*sqlx.Rows, error)
GetAllAffiliations gets affiliation and any sub affiliation from the database
func (lc *Client) GetFilteredUsers(affiliation, types string) (*sqlx.Rows, error)
GetFilteredUsers returns all identities that fall under the affiliation and types
func (lc *Client) GetRootAffiliation() (spi.Affiliation, error)
GetRootAffiliation returns the root affiliation group
func (lc *Client) GetUser(username string, attrNames []string) (causer.User, error)
GetUser returns a user object for username and attribute values for the requested attribute names
func (lc *Client) GetUserLessThanLevel(version int) ([]causer.User, error)
GetUserLessThanLevel returns all identities that are less than the level specified
func (lc *Client) InsertAffiliation(name string, prekey string, version int) error
InsertAffiliation adds an affiliation group
func (lc *Client) InsertUser(user *causer.Info) error
InsertUser inserts a user
func (lc *Client) ModifyAffiliation(oldAffiliation, newAffiliation string, force, isRegistrar bool) (*causer.DbTxResult, error)
ModifyAffiliation renames the affiliation and updates all identities to use the new affiliation
func (lc *Client) UpdateUser(user *causer.Info, updatePass bool) error
UpdateUser updates a user
Config is the configuration object for this LDAP client
type Config struct {
Enabled bool `def:"false" help:"Enable the LDAP client for authentication and attributes"`
URL string `help:"LDAP client URL of form ldap://adminDN:adminPassword@host[:port]/base" mask:"url"`
UserFilter string `def:"(uid=%s)" help:"The LDAP user filter to use when searching for users"`
GroupFilter string `def:"(memberUid=%s)" help:"The LDAP group filter for a single affiliation group"`
Attribute AttrConfig
TLS ctls.ClientTLSConfig
}
func (c Config) String() string
Implements Stringer interface for ldap.Config Calls util.StructToString to convert the Config struct to string.
NameVal is a name and value pair
type NameVal struct {
Name string
Value string
}