Files
threshold/internal/auth/ldap/register.go
T
shadowdaoandClaude Sonnet 5.5 962d708fdd Rename Go module paths to repo.anhonesthost.net/CyberCoveLLC/threshold
Rename root, api and sdk module paths (imports, go.mod, go_package,
ldflags, build scripts, buf configs) and regenerate protobuf/gateway
code with the project's pinned toolchain. Wire identifiers unchanged.
api gets a local replace for sdk; root/api/sdk require v0.1.0.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 10:33:41 -07:00

63 lines
1.8 KiB
Go

// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: BUSL-1.1
package ldap
import (
"context"
"strings"
"repo.anhonesthost.net/CyberCoveLLC/threshold/internal/auth"
)
func init() {
auth.RegisterAuthMethodSubtype("ldap", &authMethodHooks{})
}
type authMethodHooks struct{}
// NewAuthMethod creates a new static auth method from the result
func (authMethodHooks) NewAuthMethod(ctx context.Context, result *auth.AuthMethodListQueryResult) (auth.AuthMethod, error) {
delimiter := "|"
am := AllocAuthMethod()
am.PublicId = result.PublicId
am.ScopeId = result.ScopeId
am.IsPrimaryAuthMethod = result.IsPrimaryAuthMethod
am.Name = result.Name
am.Description = result.Description
am.CreateTime = result.CreateTime
am.UpdateTime = result.UpdateTime
am.Version = result.Version
am.OperationalState = result.State
am.StartTls = result.StartTLS
am.InsecureTls = result.InsecureTLS
am.DiscoverDn = result.DiscoverDn
am.AnonGroupSearch = result.AnonGroupSearch
am.EnableGroups = result.EnableGroups
am.UseTokenGroups = result.UseTokenGroups
am.UpnDomain = result.UpnDomain
if result.Urls != "" {
am.Urls = strings.Split(result.Urls, delimiter)
}
if result.Certs != "" {
am.Certificates = strings.Split(result.Certs, delimiter)
}
am.UserDn = result.UserDn
am.UserAttr = result.UserAttr
am.UserFilter = result.UserFilter
am.GroupDn = result.GroupDn
am.GroupAttr = result.GroupAttr
am.GroupFilter = result.GroupFilter
am.ClientCertificateKeyHmac = result.ClientCertificateKeyHmac
am.ClientCertificate = string(result.ClientCertificateCert)
am.BindDn = result.BindDn
if result.AccountAttributeMap != "" {
am.AccountAttributeMaps = strings.Split(result.AccountAttributeMap, delimiter)
}
am.DereferenceAliases = result.DereferenceAliases
am.MaximumPageSize = result.MaximumPageSize
return &am, nil
}