authnadapter

package
v0.1.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 1, 2026 License: MIT Imports: 3 Imported by: 0

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func FromAuthnGroup

func FromAuthnGroup(g authn.Group) iamx.Group

func FromAuthnOrganization

func FromAuthnOrganization(o authn.Organization) iamx.Organization

func FromAuthnUser

func FromAuthnUser(u authn.User) iamx.User

func ProviderOrKernel

func ProviderOrKernel(externalID string) string

func ToAuthnGroup

func ToAuthnGroup(g iamx.Group) authn.Group

func ToAuthnOrganization

func ToAuthnOrganization(o iamx.Organization) authn.Organization

func ToAuthnUser

func ToAuthnUser(u iamx.User) authn.User

Types

type Directory

type Directory struct {
	// contains filtered or unexported fields
}

func NewDirectory

func NewDirectory(provider authn.IdentityAdmin) (*Directory, error)

func (*Directory) AddMembership

func (d *Directory) AddMembership(ctx context.Context, m iamx.Membership) error

func (*Directory) CreateGroup

func (d *Directory) CreateGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)

func (*Directory) CreateOrganization

func (d *Directory) CreateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)

func (*Directory) CreateUser

func (d *Directory) CreateUser(ctx context.Context, user iamx.User) (iamx.User, error)

func (*Directory) DeleteGroup

func (d *Directory) DeleteGroup(ctx context.Context, orgID, groupID string) error

func (*Directory) DeleteOrganization

func (d *Directory) DeleteOrganization(ctx context.Context, orgID string) error

func (*Directory) DeleteUser

func (d *Directory) DeleteUser(ctx context.Context, orgID, userID string) error

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 (d *Directory) DisableUser(ctx context.Context, orgID, userID string) error

func (*Directory) GetGroup

func (d *Directory) GetGroup(ctx context.Context, orgID, groupID string) (iamx.Group, error)

func (*Directory) GetOrganization

func (d *Directory) GetOrganization(ctx context.Context, orgID string) (iamx.Organization, error)

func (*Directory) GetUser

func (d *Directory) GetUser(ctx context.Context, orgID, userID string) (iamx.User, error)

func (*Directory) ListEffectiveMemberships

func (d *Directory) ListEffectiveMemberships(ctx context.Context, orgID, userID string) ([]iamx.Membership, error)

func (*Directory) ListGroupAncestors

func (d *Directory) ListGroupAncestors(ctx context.Context, orgID, groupID string) ([]iamx.Group, error)

func (*Directory) ListGroupDescendants

func (d *Directory) ListGroupDescendants(ctx context.Context, orgID, groupID string) ([]iamx.Group, error)

func (*Directory) ListGroups

func (d *Directory) ListGroups(ctx context.Context, q iamx.GroupQuery) ([]iamx.Group, error)

func (*Directory) ListMemberships

func (d *Directory) ListMemberships(ctx context.Context, orgID, userID string) ([]iamx.Membership, error)

func (*Directory) ListOrganizations

func (d *Directory) ListOrganizations(ctx context.Context, q iamx.OrganizationQuery) ([]iamx.Organization, error)

func (*Directory) ListUsers

func (d *Directory) ListUsers(ctx context.Context, q iamx.UserQuery) ([]iamx.User, error)

func (*Directory) RemoveMembership

func (d *Directory) RemoveMembership(ctx context.Context, orgID, groupID, userID string) error

func (*Directory) UpdateGroup

func (d *Directory) UpdateGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)

func (*Directory) UpdateOrganization

func (d *Directory) UpdateOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)

func (*Directory) UpdateUser

func (d *Directory) UpdateUser(ctx context.Context, user iamx.User) (iamx.User, error)

func (*Directory) UpsertGroup

func (d *Directory) UpsertGroup(ctx context.Context, group iamx.Group) (iamx.Group, error)

func (*Directory) UpsertOrganization

func (d *Directory) UpsertOrganization(ctx context.Context, org iamx.Organization) (iamx.Organization, error)

func (*Directory) UpsertUser

func (d *Directory) UpsertUser(ctx context.Context, user iamx.User) (iamx.User, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL