Documentation
¶
Overview ¶
Package authnadapter adapts authn.IdentityAdmin providers, such as Casdoor, into Kernel IAM directory contracts. It is the bridge that lets Kernel keep its own IAM domain model while Casdoor remains an OAuth/OIDC and user-center backend.
Index ¶
- func FromAuthnGroup(g authn.Group) iamx.Group
- func FromAuthnOrganization(o authn.Organization) iamx.Organization
- func FromAuthnUser(u authn.User) iamx.User
- func ProviderOrKernel(externalID string) string
- func ToAuthnGroup(g iamx.Group) authn.Group
- func ToAuthnOrganization(o iamx.Organization) authn.Organization
- func ToAuthnUser(u iamx.User) authn.User
- type Directory
- func (d *Directory) AddMembership(ctx context.Context, m iamx.Membership) error
- func (d *Directory) CreateGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)
- func (d *Directory) CreateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
- func (d *Directory) CreateUser(ctx context.Context, user iamx.User) (iamx.User, error)
- func (d *Directory) DeleteGroup(ctx context.Context, orgID, groupID string) error
- func (d *Directory) DeleteOrganization(ctx context.Context, orgID string) error
- func (d *Directory) DeleteUser(ctx context.Context, orgID, userID string) error
- func (d *Directory) DisableUser(ctx context.Context, orgID, userID string) error
- func (d *Directory) GetGroup(ctx context.Context, orgID, groupID string) (iamx.Group, error)
- func (d *Directory) GetOrganization(ctx context.Context, orgID string) (iamx.Organization, error)
- func (d *Directory) GetUser(ctx context.Context, orgID, userID string) (iamx.User, error)
- func (d *Directory) ListEffectiveMemberships(ctx context.Context, orgID, userID string) ([]iamx.Membership, error)
- func (d *Directory) ListGroupAncestors(ctx context.Context, orgID, groupID string) ([]iamx.Group, error)
- func (d *Directory) ListGroupDescendants(ctx context.Context, orgID, groupID string) ([]iamx.Group, error)
- func (d *Directory) ListGroups(ctx context.Context, q iamx.GroupQuery) ([]iamx.Group, error)
- func (d *Directory) ListMemberships(ctx context.Context, orgID, userID string) ([]iamx.Membership, error)
- func (d *Directory) ListOrganizations(ctx context.Context, q iamx.OrganizationQuery) ([]iamx.Organization, error)
- func (d *Directory) ListUsers(ctx context.Context, q iamx.UserQuery) ([]iamx.User, error)
- func (d *Directory) RemoveMembership(ctx context.Context, orgID, groupID, userID string) error
- func (d *Directory) UpdateGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)
- func (d *Directory) UpdateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
- func (d *Directory) UpdateUser(ctx context.Context, user iamx.User) (iamx.User, error)
- func (d *Directory) UpsertGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)
- func (d *Directory) UpsertOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
- func (d *Directory) UpsertUser(ctx context.Context, user iamx.User) (iamx.User, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromAuthnOrganization ¶
func FromAuthnOrganization(o authn.Organization) iamx.Organization
func ProviderOrKernel ¶
func ToAuthnOrganization ¶
func ToAuthnOrganization(o iamx.Organization) authn.Organization
Types ¶
type Directory ¶
type Directory struct {
// contains filtered or unexported fields
}
func NewDirectory ¶
func NewDirectory(provider authn.IdentityAdmin) (*Directory, error)
func (*Directory) AddMembership ¶
func (*Directory) CreateGroup ¶
func (*Directory) CreateOrganization ¶
func (d *Directory) CreateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
func (*Directory) CreateUser ¶
func (*Directory) DeleteGroup ¶
func (*Directory) DeleteOrganization ¶
func (*Directory) DeleteUser ¶
DeleteUser is a soft-delete boundary for provider adapters. Casdoor-like providers may not expose hard delete through Kernel authn.IdentityAdmin yet, so we disable the external user instead of leaking provider-specific delete semantics to business code.
func (*Directory) DisableUser ¶
func (*Directory) GetOrganization ¶
func (*Directory) ListEffectiveMemberships ¶
func (*Directory) ListGroupAncestors ¶
func (*Directory) ListGroupDescendants ¶
func (*Directory) ListGroups ¶
func (*Directory) ListMemberships ¶
func (*Directory) ListOrganizations ¶
func (d *Directory) ListOrganizations(ctx context.Context, q iamx.OrganizationQuery) ([]iamx.Organization, error)
func (*Directory) RemoveMembership ¶
func (*Directory) UpdateGroup ¶
func (*Directory) UpdateOrganization ¶
func (d *Directory) UpdateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
func (*Directory) UpdateUser ¶
func (*Directory) UpsertGroup ¶
func (*Directory) UpsertOrganization ¶
func (d *Directory) UpsertOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)
Click to show internal directories.
Click to hide internal directories.