Documentation
¶
Overview ¶
Re-exports of the public types, constants, sentinel errors, and helper functions implemented in internal/authcore. This is the public alias layer: when authcore's exported surface changes, mirror the intended-public symbols here. The Service facade itself lives in facade.go / facade_methods.go.
Package embedded is the public, embedder-facing API of AuthKit.
The full service implementation lives in internal/authcore (driven by the authkit/http transport). core re-exports the public data types, config, constants, sentinel errors, and helper functions (see aliases.go), and exposes a deliberately small Client facade: only the methods an embedding application needs to provision, manage, mint, and query. Auth-flow plumbing that exists solely to serve the HTTP handlers is intentionally NOT on this facade — it stays internal so the v1 contract stays small and stable.
Curated embedder-facing methods of the public embedded.Client facade. Each one delegates to the internal engine (s.impl, *authcore.Service). Driven by real consumer usage, kept minimal (see SEMVER.md, #126/#130).
Index ¶
- Constants
- Variables
- type APIKeyResourceAuthorizationRequest
- type APIKeyResourceAuthorizer
- type APIKeyResourceAuthorizerFunc
- type APIKeysConfig
- type AdminRecoverUserInput
- type AuthEventLogReader
- type AuthEventLogger
- type AuthSessionEvent
- type BatchEntitlementsProvider
- type Client
- func (s *Client) AdminCountUsers(ctx context.Context, opts authkit.AdminUserListOptions) (int64, error)
- func (s *Client) AdminGetUser(ctx context.Context, id string) (*authkit.AdminUser, error)
- func (s *Client) AdminListUserSessions(ctx context.Context, userID string) ([]authkit.Session, error)
- func (s *Client) AdminListUsers(ctx context.Context, opts authkit.AdminUserListOptions) (*authkit.AdminListUsersResult, error)
- func (s *Client) AdminRevokeUserSessions(ctx context.Context, userID string) error
- func (s *Client) AdminSetPassword(ctx context.Context, userID, new string) error
- func (s *Client) ApplyBootstrapManifest(ctx context.Context, manifest authkit.BootstrapManifest, ...) (authkit.BootstrapManifestResult, error)
- func (s *Client) ApplyBootstrapManifestFile(ctx context.Context, path string, opts authkit.BootstrapReconcileOptions) (authkit.BootstrapManifestResult, error)
- func (s *Client) AssignGroupRole(ctx context.Context, ...) error
- func (s *Client) AssignGroupRoleAs(ctx context.Context, ...) error
- func (s *Client) AssignRoleBySlug(ctx context.Context, userID, slug string) error
- func (s *Client) AssignRoleBySlugAs(ctx context.Context, actorUserID, userID, slug string) error
- func (s *Client) BanUser(ctx context.Context, userID string, reason *string, until *time.Time, ...) error
- func (s *Client) Can(ctx context.Context, ...) (bool, error)
- func (s *Client) ChangePassword(ctx context.Context, userID, current, new string, keepSessionID *string) error
- func (s *Client) CheckSMSHealth(ctx context.Context) error
- func (s *Client) CleanupExpiredAuthState(ctx context.Context) error
- func (s *Client) ClearPasswordlessCodeAttempts(ctx context.Context, identifier string)
- func (s *Client) ConfirmPasswordlessCode(ctx context.Context, identifier, code string) (authkit.PasswordlessConfirmResult, error)
- func (s *Client) ConfirmPasswordlessToken(ctx context.Context, token string) (authkit.PasswordlessConfirmResult, error)
- func (s *Client) CreateGroupInviteLink(ctx context.Context, req authkit.CreateGroupInviteLinkRequest) (authkit.GroupInviteLinkCreated, error)
- func (s *Client) CreatePermissionGroup(ctx context.Context, req authkit.CreatePermissionGroupRequest) (string, error)
- func (s *Client) CreateUser(ctx context.Context, email, username string) (*authkit.User, error)
- func (s *Client) DeleteRemoteApplication(ctx context.Context, issuer string) error
- func (s *Client) EnsureRootGroup(ctx context.Context) (string, error)
- func (s *Client) EntitlementsProvider() EntitlementsProvider
- func (s *Client) EphemeralMode() EphemeralMode
- func (s *Client) ExchangeRefreshToken(ctx context.Context, refreshToken string, ua string, ip net.IP) (string, time.Time, string, error)
- func (s *Client) ExternalInvitesEnabled() bool
- func (s *Client) GetEmailByUserID(ctx context.Context, id string) (string, error)
- func (s *Client) GetProviderUsername(ctx context.Context, userID, provider string) (string, error)
- func (s *Client) GetRemoteApplication(ctx context.Context, issuer string) (*authkit.RemoteApplication, error)
- func (s *Client) GetUserByEmail(ctx context.Context, email string) (*authkit.User, error)
- func (s *Client) GetUserByPhone(ctx context.Context, phone string) (*authkit.User, error)
- func (s *Client) GetUserBySolanaAddress(ctx context.Context, address string) (*authkit.User, error)
- func (s *Client) GetUserByUsername(ctx context.Context, username string) (*authkit.User, error)
- func (s *Client) GetUserMetadata(ctx context.Context, userID string) (map[string]any, error)
- func (s *Client) HardDeleteUser(ctx context.Context, userID string) error
- func (s *Client) HasEmailSender() bool
- func (s *Client) HasSMSSender() bool
- func (s *Client) ImportUsers(ctx context.Context, inputs []authkit.ImportUserInput) (authkit.ImportUsersResult, error)
- func (s *Client) IsUserAllowed(ctx context.Context, userID string) (bool, error)
- func (s *Client) IssueAccessToken(ctx context.Context, userID, email string, extra map[string]any) (string, time.Time, error)
- func (s *Client) JWKS() jwtkit.JWKS
- func (s *Client) Keyfunc() func(token *jwt.Token) (any, error)
- func (s *Client) LinkProvider(ctx context.Context, userID, provider, subject string, email *string) error
- func (s *Client) LinkProviderByIssuer(ctx context.Context, userID, issuer, providerSlug, subject string, ...) error
- func (s *Client) ListAPIKeys(ctx context.Context, persona, instanceSlug string) ([]authkit.APIKey, error)
- func (s *Client) ListEffectivePermissions(ctx context.Context, subjectID, subjectKind, persona, instanceSlug string) ([]string, error)
- func (s *Client) ListEntitlements(ctx context.Context, userID string) []string
- func (s *Client) ListGroupInviteLinks(ctx context.Context, persona, instanceSlug string) ([]authkit.GroupInviteLink, error)
- func (s *Client) ListGroupMembers(ctx context.Context, persona, instanceSlug string) ([]authkit.GroupMember, error)
- func (s *Client) ListRemoteApplications(ctx context.Context, activeOnly bool) ([]authkit.RemoteApplication, error)
- func (s *Client) ListRoleSlugsByUser(ctx context.Context, userID string) []string
- func (s *Client) ListRoleSlugsByUserErr(ctx context.Context, userID string) ([]string, error)
- func (s *Client) ListSubjectGroups(ctx context.Context, subjectID, subjectKind string) ([]authkit.SubjectGroupMembership, error)
- func (s *Client) ListUserSessions(ctx context.Context, userID string) ([]authkit.Session, error)
- func (s *Client) ListUsersDeletedBefore(ctx context.Context, cutoff time.Time, limit int) ([]string, error)
- func (s *Client) MintAPIKey(ctx context.Context, persona, instanceSlug, name, role, createdBy string, ...) (authkit.APIKey, string, error)
- func (s *Client) MintAPIKeyWithOptions(ctx context.Context, persona, instanceSlug string, ...) (authkit.APIKey, string, error)
- func (s *Client) MintCustomJWT(ctx context.Context, opts authkit.CustomJWTMintOptions) (string, error)
- func (s *Client) MintDelegatedAccessToken(ctx context.Context, p authkit.DelegatedAccessParams) (string, error)
- func (s *Client) MintRemoteApplicationAccessToken(ctx context.Context, p authkit.RemoteApplicationAccessParams) (string, error)
- func (s *Client) MintServiceJWT(ctx context.Context, opts authkit.ServiceJWTMintOptions) (string, authkit.ServiceJWTClaims, error)
- func (s *Client) Options() Options
- func (s *Client) PatchUserMetadata(ctx context.Context, userID string, patch map[string]any) error
- func (s *Client) Postgres() *pgxpool.Pool
- func (s *Client) PublicKeysByKID() map[string]crypto.PublicKey
- func (s *Client) RecordFailedPasswordlessCode(ctx context.Context, identifier string)
- func (s *Client) RedeemGroupInviteLink(ctx context.Context, code, redeemerUserID string) (authkit.RedeemGroupInviteLinkResult, error)
- func (s *Client) RemoveGroupSubjectAs(ctx context.Context, ...) error
- func (s *Client) RemoveRoleBySlug(ctx context.Context, userID, slug string) error
- func (s *Client) RemoveRoleBySlugAs(ctx context.Context, actorUserID, userID, slug string) error
- func (s *Client) ResolveAPIKey(ctx context.Context, keyID, secret string) (string, []string, error)
- func (s *Client) ResolveAPIKeyWithResources(ctx context.Context, keyID, secret string) (authkit.ResolvedAPIKey, error)
- func (s *Client) ResolveGroupIDForSlug(ctx context.Context, persona, instanceSlug string) (string, error)
- func (s *Client) ResolveRemoteAppAttributeDef(ctx context.Context, appID, key string, version int32) (*authkit.RemoteAppAttributeDef, error)
- func (s *Client) ResolveRemoteApplicationAuthority(ctx context.Context, appID string) ([]string, error)
- func (s *Client) RestoreUser(ctx context.Context, id string) error
- func (s *Client) RevokeAPIKey(ctx context.Context, persona, instanceSlug, tokenID string) (bool, error)
- func (s *Client) RevokeAllSessions(ctx context.Context, userID string, keepSessionID *string) error
- func (s *Client) RevokeGroupInviteLink(ctx context.Context, persona, instanceSlug, linkID string) error
- func (s *Client) SMSAvailable() bool
- func (s *Client) Schema() string
- func (s *Client) SeedPermissionGroupContainment(ctx context.Context) error
- func (s *Client) SetEmailVerified(ctx context.Context, id string, v bool) error
- func (s *Client) SetEntitlementsProvider(p EntitlementsProvider)
- func (s *Client) SoftDeleteUser(ctx context.Context, id string) error
- func (s *Client) StartPasswordless(ctx context.Context, req authkit.PasswordlessStartRequest) (authkit.PasswordlessStartResult, error)
- func (s *Client) TimeUntilUsernameRenameAvailable(ctx context.Context, userID string, now time.Time) (int64, error)
- func (s *Client) UnassignGroupRoleAs(ctx context.Context, ...) error
- func (s *Client) UnbanUser(ctx context.Context, userID string) error
- func (s *Client) UnlinkProvider(ctx context.Context, userID, provider string) error
- func (s *Client) UpdateBiography(ctx context.Context, id string, bio *string) error
- func (s *Client) UpdateEmail(ctx context.Context, id, email string) error
- func (s *Client) UpdateImportedUser(ctx context.Context, userID string, input authkit.ImportUserInput) (*authkit.User, error)
- func (s *Client) UpdateUsername(ctx context.Context, id, username string) error
- func (s *Client) UpsertPasswordHash(ctx context.Context, userID, hash, algo string, params []byte) error
- func (s *Client) UpsertRemoteApplication(ctx context.Context, in authkit.RemoteApplication) (*authkit.RemoteApplication, error)
- func (s *Client) UpsertRoleBySlug(ctx context.Context, name, slug string, description *string) error
- func (s *Client) ValidateVerificationConfiguration() error
- func (s *Client) VerifyUserPassword(ctx context.Context, userID, pass string) bool
- type Config
- type CustomRoleResolver
- type EmailSender
- type EntitlementFilterProvider
- type EntitlementsProvider
- type EphemeralMode
- type EphemeralStore
- type FrontendConfig
- type GeneratedRoute
- type GroupAssignment
- type GroupInviteEmailSender
- type GroupInviteMessage
- type GroupSchema
- type IdentityConfig
- type KeysConfig
- type Keyset
- type ManagementProfile
- type Option
- type Options
- type Passkey
- type PasskeyConfig
- type PasskeyLoginResult
- type PendingChangeKind
- type PendingRegistration
- type PermissionDef
- type PermissionGroupStore
- type PersonaDef
- type RBACConfig
- type RegistrationConfig
- type RegistrationMode
- type RegistrationVerificationPolicy
- type RemovedMFARoleAssignment
- type RoleDef
- type SMSHealthChecker
- type SMSSender
- type SessionEventType
- type SessionFreshness
- type SessionRevokeReason
- type SolanaConfig
- type SolanaLinkedAccount
- type SolanaSNSResolver
- type TokenConfig
- type TwoFactorConfig
- type TwoFactorFactor
- type TwoFactorSettings
- type ValidationError
- type VerificationMessage
Constants ¶
const AssuranceLevelMFA = authcore.AssuranceLevelMFA
Re-exported constants.
const AssuranceLevelPassword = authcore.AssuranceLevelPassword
const DefaultBootstrapManifestPath = authcore.DefaultBootstrapManifestPath
const DelegatedAccessTokenType = authcore.DelegatedAccessTokenType
const EphemeralMemory = authcore.EphemeralMemory
const EphemeralRedis = authcore.EphemeralRedis
const ErrCodeInvalidEmail = authcore.ErrCodeInvalidEmail
const ErrCodeInvalidPhoneNumber = authcore.ErrCodeInvalidPhoneNumber
const ErrCodeOwnerSlugTaken = authcore.ErrCodeOwnerSlugTaken
const ErrCodePasswordTooShort = authcore.ErrCodePasswordTooShort
const ErrCodeRenameRateLimited = authcore.ErrCodeRenameRateLimited
const ErrCodeUsernameCannotContainAt = authcore.ErrCodeUsernameCannotContainAt
const ErrCodeUsernameCannotStartWithPlus = authcore.ErrCodeUsernameCannotStartWithPlus
const ErrCodeUsernameInvalidCharacters = authcore.ErrCodeUsernameInvalidCharacters
const ErrCodeUsernameMustStartWithLetter = authcore.ErrCodeUsernameMustStartWithLetter
const ErrCodeUsernameNotAllowed = authcore.ErrCodeUsernameNotAllowed
const ErrCodeUsernameTooLong = authcore.ErrCodeUsernameTooLong
const ErrCodeUsernameTooShort = authcore.ErrCodeUsernameTooShort
const HashAlgoLegacyResetRequired = authcore.HashAlgoLegacyResetRequired
const KindChangeEmail = authcore.KindChangeEmail
const KindChangePhone = authcore.KindChangePhone
const KindRegisterEmail = authcore.KindRegisterEmail
const KindRegisterPhone = authcore.KindRegisterPhone
const MaxCustomJWTLifetime = authcore.MaxCustomJWTLifetime
const OwnerRoleName = authcore.OwnerRoleName
const PasswordlessChannelEmail = authcore.PasswordlessChannelEmail
const PasswordlessChannelSMS = authcore.PasswordlessChannelSMS
const PasswordlessModeBoth = authcore.PasswordlessModeBoth
const PasswordlessModeCode = authcore.PasswordlessModeCode
const PasswordlessModeLink = authcore.PasswordlessModeLink
const PermRootCredentialsManage = authcore.PermRootCredentialsManage
const PermRootResourcesRead = authcore.PermRootResourcesRead
const PermRootRolesManage = authcore.PermRootRolesManage
const PermRootUsersBan = authcore.PermRootUsersBan
const PermRootUsersDelete = authcore.PermRootUsersDelete
const PermRootUsersRecover = authcore.PermRootUsersRecover
const RegistrationModeAdminBootstrapOnly = authcore.RegistrationModeAdminBootstrapOnly
const RegistrationModeAdminOnly = authcore.RegistrationModeAdminOnly
const RegistrationModeClosed = authcore.RegistrationModeClosed
const RegistrationModeInviteOnly = authcore.RegistrationModeInviteOnly
const RegistrationModeManifestOnly = authcore.RegistrationModeManifestOnly
const RegistrationModeOpen = authcore.RegistrationModeOpen
const RegistrationVerificationNone = authcore.RegistrationVerificationNone
const RegistrationVerificationOptional = authcore.RegistrationVerificationOptional
const RegistrationVerificationRequired = authcore.RegistrationVerificationRequired
const RemoteApplicationAccessTokenType = authcore.RemoteApplicationAccessTokenType
const RootPersona = authcore.RootPersona
const SensitiveActionFreshAuthWindow = authcore.SensitiveActionFreshAuthWindow
const ServiceJWTType = authcore.ServiceJWTType
const SessionEventCreated = authcore.SessionEventCreated
const SessionEventFailed = authcore.SessionEventFailed
const SessionEventPasswordChange = authcore.SessionEventPasswordChange
const SessionEventPasswordRecovery = authcore.SessionEventPasswordRecovery
const SessionEventRevoked = authcore.SessionEventRevoked
const SessionRevokeReasonAdminRevoke = authcore.SessionRevokeReasonAdminRevoke
const SessionRevokeReasonAdminRevokeAll = authcore.SessionRevokeReasonAdminRevokeAll
const SessionRevokeReasonAdminSetPassword = authcore.SessionRevokeReasonAdminSetPassword
const SessionRevokeReasonBanned = authcore.SessionRevokeReasonBanned
const SessionRevokeReasonEvicted = authcore.SessionRevokeReasonEvicted
const SessionRevokeReasonLogout = authcore.SessionRevokeReasonLogout
const SessionRevokeReasonPasswordChange = authcore.SessionRevokeReasonPasswordChange
const SessionRevokeReasonRefreshReuseDetected = authcore.SessionRevokeReasonRefreshReuseDetected
const SessionRevokeReasonSoftDeleted = authcore.SessionRevokeReasonSoftDeleted
const SessionRevokeReasonUnknown = authcore.SessionRevokeReasonUnknown
const SessionRevokeReasonUserDisabled = authcore.SessionRevokeReasonUserDisabled
const SessionRevokeReasonUserRevoke = authcore.SessionRevokeReasonUserRevoke
const SessionRevokeReasonUserRevokeAll = authcore.SessionRevokeReasonUserRevokeAll
const SolanaProviderSlug = authcore.SolanaProviderSlug
const SolanaSNSStatusDisabled = authcore.SolanaSNSStatusDisabled
const SolanaSNSStatusError = authcore.SolanaSNSStatusError
const SolanaSNSStatusNotFound = authcore.SolanaSNSStatusNotFound
const SolanaSNSStatusPending = authcore.SolanaSNSStatusPending
const SolanaSNSStatusResolved = authcore.SolanaSNSStatusResolved
const SolanaSNSStatusStale = authcore.SolanaSNSStatusStale
const SubjectKindRemoteApp = authcore.SubjectKindRemoteApp
const SubjectKindUser = authcore.SubjectKindUser
Variables ¶
var BuildSchema = authcore.BuildSchema
Re-exported variables, sentinel errors, and functions.
var IntrinsicRootPermissions = authcore.IntrinsicRootPermissions
#136 no-escalation role-assignment errors.
var IntrinsicRootPersona = authcore.IntrinsicRootPersona
var IsDevEnvironment = authcore.IsDevEnvironment
var LoadBootstrapManifestFile = authcore.LoadBootstrapManifestFile
var MintDelegatedAccessToken = authcore.MintDelegatedAccessToken
var MintRemoteApplicationAccessToken = authcore.MintRemoteApplicationAccessToken
var MintServiceJWT = authcore.MintServiceJWT
var NewGroupSchema = authcore.NewGroupSchema
var NewPermissionGroupStore = authcore.NewPermissionGroupStore
var NormalizeEmail = authcore.NormalizeEmail
var NormalizePhone = authcore.NormalizePhone
var NormalizePreferredLanguage = authcore.NormalizePreferredLanguage
var NormalizeRemoteAppTrustSource = authcore.NormalizeRemoteAppTrustSource
var OwnerGrant = authcore.OwnerGrant
var ParseBootstrapManifestYAML = authcore.ParseBootstrapManifestYAML
var PermCredentialsManage = authcore.PermCredentialsManage
var PermCredentialsRead = authcore.PermCredentialsRead
var PermMembersManage = authcore.PermMembersManage
var PermMembersRead = authcore.PermMembersRead
var PermRolesManage = authcore.PermRolesManage
var PermRolesRead = authcore.PermRolesRead
var PermissionPersona = authcore.PermissionPersona
var ValidateEmail = authcore.ValidateEmail
var ValidateGrantPattern = authcore.ValidateGrantPattern
var ValidatePassword = authcore.ValidatePassword
var ValidatePermission = authcore.ValidatePermission
var ValidatePhone = authcore.ValidatePhone
var ValidateUsername = authcore.ValidateUsername
var ValidationErrorCode = authcore.ValidationErrorCode
var WithAPIKeyResourceAuthorizer = authcore.WithAPIKeyResourceAuthorizer
var WithAuthLogger = authcore.WithAuthLogger
var WithDBTXWrapper = authcore.WithDBTXWrapper
var WithEmailSender = authcore.WithEmailSender
var WithEntitlements = authcore.WithEntitlements
var WithEphemeralStore = authcore.WithEphemeralStore
var WithPostgres = authcore.WithPostgres
var WithSMSSender = authcore.WithSMSSender
var WithSessionRevokeReason = authcore.WithSessionRevokeReason
var WithSolanaSNSResolver = authcore.WithSolanaSNSResolver
Functions ¶
This section is empty.
Types ¶
type APIKeyResourceAuthorizationRequest ¶
type APIKeyResourceAuthorizationRequest = authcore.APIKeyResourceAuthorizationRequest
type APIKeyResourceAuthorizer ¶
type APIKeyResourceAuthorizer = authcore.APIKeyResourceAuthorizer
type APIKeyResourceAuthorizerFunc ¶
type APIKeyResourceAuthorizerFunc = authcore.APIKeyResourceAuthorizerFunc
type APIKeysConfig ¶
type APIKeysConfig = authcore.APIKeysConfig
type AdminRecoverUserInput ¶
type AdminRecoverUserInput = authcore.AdminRecoverUserInput
type AuthEventLogReader ¶
type AuthEventLogReader = authcore.AuthEventLogReader
type AuthEventLogger ¶
type AuthEventLogger = authcore.AuthEventLogger
type AuthSessionEvent ¶
type AuthSessionEvent = authcore.AuthSessionEvent
type BatchEntitlementsProvider ¶
type BatchEntitlementsProvider = authcore.BatchEntitlementsProvider
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the public AuthKit service facade. It wraps the internal engine and exposes the curated embedder API (facade_methods.go). Construct it with NewFromConfig (recommended) or NewService.
func New ¶
NewFromConfig builds a Client from host configuration. Postgres is required (positional); optional dependencies are functional options.
func Wrap ¶
Wrap adapts an internal engine into the public facade. It is used by the authkit/http transport to back svc.Client(); the parameter type lives in internal/ and cannot be named (or constructed) outside the module, so this does not expose the full engine to external callers.
func (*Client) AdminCountUsers ¶
func (*Client) AdminGetUser ¶
func (*Client) AdminListUserSessions ¶
func (*Client) AdminListUsers ¶
func (s *Client) AdminListUsers(ctx context.Context, opts authkit.AdminUserListOptions) (*authkit.AdminListUsersResult, error)
func (*Client) AdminRevokeUserSessions ¶
func (*Client) AdminSetPassword ¶
func (*Client) ApplyBootstrapManifest ¶
func (s *Client) ApplyBootstrapManifest(ctx context.Context, manifest authkit.BootstrapManifest, opts authkit.BootstrapReconcileOptions) (authkit.BootstrapManifestResult, error)
func (*Client) ApplyBootstrapManifestFile ¶
func (s *Client) ApplyBootstrapManifestFile(ctx context.Context, path string, opts authkit.BootstrapReconcileOptions) (authkit.BootstrapManifestResult, error)
func (*Client) AssignGroupRole ¶
func (*Client) AssignGroupRoleAs ¶
func (*Client) AssignRoleBySlug ¶
func (*Client) AssignRoleBySlugAs ¶
AssignRoleBySlugAs / RemoveRoleBySlugAs / AssignGroupRoleAs / UnassignGroupRoleAs are the actor-aware role-change methods (#136): they enforce the actor's <persona>:members:manage capability + no-escalation (perms(role) ⊆ perms(actor)) in embedded. Runtime/admin endpoints MUST use these; the non-As methods are the unchecked genesis path (bootstrap/migration).
func (*Client) ChangePassword ¶
func (*Client) CleanupExpiredAuthState ¶
func (*Client) ClearPasswordlessCodeAttempts ¶
func (*Client) ConfirmPasswordlessCode ¶
func (*Client) ConfirmPasswordlessToken ¶
func (*Client) CreateGroupInviteLink ¶
func (s *Client) CreateGroupInviteLink(ctx context.Context, req authkit.CreateGroupInviteLinkRequest) (authkit.GroupInviteLinkCreated, error)
CreateGroupInviteLink mints a permission-group invite link (#134); the returned Code is the plaintext shown ONCE. Gated on the registration mode permitting invited self-registration (authkit.ErrExternalInvitesDisabled otherwise).
func (*Client) CreatePermissionGroup ¶
func (*Client) CreateUser ¶
func (*Client) DeleteRemoteApplication ¶
func (*Client) EnsureRootGroup ¶
func (*Client) EntitlementsProvider ¶
func (s *Client) EntitlementsProvider() EntitlementsProvider
func (*Client) EphemeralMode ¶
func (s *Client) EphemeralMode() EphemeralMode
func (*Client) ExchangeRefreshToken ¶
func (*Client) ExternalInvitesEnabled ¶
ExternalInvitesEnabled reports whether invite-link minting is permitted by the configured registration mode.
func (*Client) GetEmailByUserID ¶
func (*Client) GetProviderUsername ¶
func (*Client) GetRemoteApplication ¶
func (*Client) GetUserByEmail ¶
func (*Client) GetUserByPhone ¶
func (*Client) GetUserBySolanaAddress ¶
func (*Client) GetUserByUsername ¶
func (*Client) GetUserMetadata ¶
func (*Client) HardDeleteUser ¶
func (*Client) HasEmailSender ¶
func (*Client) HasSMSSender ¶
func (*Client) ImportUsers ¶
func (s *Client) ImportUsers(ctx context.Context, inputs []authkit.ImportUserInput) (authkit.ImportUsersResult, error)
func (*Client) IsUserAllowed ¶
func (*Client) IssueAccessToken ¶
func (*Client) LinkProvider ¶
func (*Client) LinkProviderByIssuer ¶
func (*Client) ListAPIKeys ¶
func (*Client) ListEffectivePermissions ¶
func (s *Client) ListEffectivePermissions(ctx context.Context, subjectID, subjectKind, persona, instanceSlug string) ([]string, error)
ListEffectivePermissions returns the subject's effective grant PATTERNS in the group addressed by (persona, instanceSlug) — the introspection primitive behind a "what can I do here" endpoint (#421). Globs (e.g. `root:*`) are returned verbatim; an unknown group yields an empty set (fail-closed on real errors).
func (*Client) ListEntitlements ¶
func (*Client) ListGroupInviteLinks ¶
func (s *Client) ListGroupInviteLinks(ctx context.Context, persona, instanceSlug string) ([]authkit.GroupInviteLink, error)
ListGroupInviteLinks lists a group's invite links (never returns the code).
func (*Client) ListGroupMembers ¶
func (*Client) ListRemoteApplications ¶
func (*Client) ListRoleSlugsByUser ¶
func (*Client) ListRoleSlugsByUserErr ¶
ListRoleSlugsByUserErr is the error-propagating ListRoleSlugsByUser (#136): role-resolution failures are returned (not swallowed into an empty slice) so authz callers can fail closed.
func (*Client) ListSubjectGroups ¶
func (*Client) ListUserSessions ¶
func (*Client) ListUsersDeletedBefore ¶
func (*Client) MintAPIKey ¶
func (*Client) MintAPIKeyWithOptions ¶
func (*Client) MintCustomJWT ¶
func (*Client) MintDelegatedAccessToken ¶
func (*Client) MintRemoteApplicationAccessToken ¶
func (*Client) MintServiceJWT ¶
func (s *Client) MintServiceJWT(ctx context.Context, opts authkit.ServiceJWTMintOptions) (string, authkit.ServiceJWTClaims, error)
func (*Client) PatchUserMetadata ¶
func (*Client) RecordFailedPasswordlessCode ¶
func (*Client) RedeemGroupInviteLink ¶
func (s *Client) RedeemGroupInviteLink(ctx context.Context, code, redeemerUserID string) (authkit.RedeemGroupInviteLinkResult, error)
RedeemGroupInviteLink redeems code for the authenticated redeemer, assigning the link's role and returning where it applied.
func (*Client) RemoveGroupSubjectAs ¶
func (s *Client) RemoveGroupSubjectAs(ctx context.Context, actorUserID, persona, instanceSlug, subjectID, subjectKind string) error
RemoveGroupSubjectAs is the actor-aware whole-subject revoke (#136): it enforces no-escalation across every role the subject holds before stripping them. HTTP member-removal MUST use this; the unchecked RemoveGroupSubject is genesis-only.
func (*Client) RemoveRoleBySlug ¶
func (*Client) RemoveRoleBySlugAs ¶
func (*Client) ResolveAPIKey ¶
func (*Client) ResolveAPIKeyWithResources ¶
func (*Client) ResolveGroupIDForSlug ¶
func (*Client) ResolveRemoteAppAttributeDef ¶
func (*Client) ResolveRemoteApplicationAuthority ¶
func (*Client) RevokeAPIKey ¶
func (*Client) RevokeAllSessions ¶
func (*Client) RevokeGroupInviteLink ¶
func (s *Client) RevokeGroupInviteLink(ctx context.Context, persona, instanceSlug, linkID string) error
RevokeGroupInviteLink revokes a group's invite link by id.
func (*Client) SMSAvailable ¶
func (*Client) SeedPermissionGroupContainment ¶
func (*Client) SetEmailVerified ¶
func (*Client) SetEntitlementsProvider ¶
func (s *Client) SetEntitlementsProvider(p EntitlementsProvider)
func (*Client) SoftDeleteUser ¶
func (*Client) StartPasswordless ¶
func (s *Client) StartPasswordless(ctx context.Context, req authkit.PasswordlessStartRequest) (authkit.PasswordlessStartResult, error)
func (*Client) TimeUntilUsernameRenameAvailable ¶
func (*Client) UnassignGroupRoleAs ¶
func (*Client) UnlinkProvider ¶
func (*Client) UpdateBiography ¶
func (*Client) UpdateEmail ¶
func (*Client) UpdateImportedUser ¶
func (*Client) UpdateUsername ¶
func (*Client) UpsertPasswordHash ¶
func (*Client) UpsertRemoteApplication ¶
func (s *Client) UpsertRemoteApplication(ctx context.Context, in authkit.RemoteApplication) (*authkit.RemoteApplication, error)
func (*Client) UpsertRoleBySlug ¶
func (*Client) ValidateVerificationConfiguration ¶
type CustomRoleResolver ¶
type CustomRoleResolver = authcore.CustomRoleResolver
type EmailSender ¶
type EmailSender = authcore.EmailSender
type EntitlementFilterProvider ¶
type EntitlementFilterProvider = authcore.EntitlementFilterProvider
type EntitlementsProvider ¶
type EntitlementsProvider = authcore.EntitlementsProvider
type EphemeralMode ¶
type EphemeralMode = authcore.EphemeralMode
type EphemeralStore ¶
type EphemeralStore = authcore.EphemeralStore
type FrontendConfig ¶
type FrontendConfig = authcore.FrontendConfig
type GeneratedRoute ¶
type GeneratedRoute = authcore.GeneratedRoute
type GroupAssignment ¶
type GroupAssignment = authcore.GroupAssignment
type GroupInviteEmailSender ¶
type GroupInviteEmailSender = authcore.GroupInviteEmailSender
type GroupInviteMessage ¶
type GroupInviteMessage = authcore.GroupInviteMessage
type GroupSchema ¶
type GroupSchema = authcore.GroupSchema
type IdentityConfig ¶
type IdentityConfig = authcore.IdentityConfig
type KeysConfig ¶
type KeysConfig = authcore.KeysConfig
type ManagementProfile ¶
type ManagementProfile = authcore.ManagementProfile
type PasskeyConfig ¶
type PasskeyConfig = authcore.PasskeyConfig
type PasskeyLoginResult ¶
type PasskeyLoginResult = authcore.PasskeyLoginResult
type PendingChangeKind ¶
type PendingChangeKind = authcore.PendingChangeKind
type PendingRegistration ¶
type PendingRegistration = authcore.PendingRegistration
type PermissionDef ¶
type PermissionDef = authcore.PermissionDef
type PermissionGroupStore ¶
type PermissionGroupStore = authcore.PermissionGroupStore
type PersonaDef ¶
type PersonaDef = authcore.PersonaDef
type RBACConfig ¶
type RBACConfig = authcore.RBACConfig
type RegistrationConfig ¶
type RegistrationConfig = authcore.RegistrationConfig
type RegistrationMode ¶
type RegistrationMode = authcore.RegistrationMode
type RegistrationVerificationPolicy ¶
type RegistrationVerificationPolicy = authcore.RegistrationVerificationPolicy
type RemovedMFARoleAssignment ¶
type RemovedMFARoleAssignment = authcore.RemovedMFARoleAssignment
type SMSHealthChecker ¶
type SMSHealthChecker = authcore.SMSHealthChecker
type SessionEventType ¶
type SessionEventType = authcore.SessionEventType
type SessionFreshness ¶
type SessionFreshness = authcore.SessionFreshness
type SessionRevokeReason ¶
type SessionRevokeReason = authcore.SessionRevokeReason
type SolanaConfig ¶
type SolanaConfig = authcore.SolanaConfig
type SolanaLinkedAccount ¶
type SolanaLinkedAccount = authcore.SolanaLinkedAccount
type SolanaSNSResolver ¶
type SolanaSNSResolver = authcore.SolanaSNSResolver
type TokenConfig ¶
type TokenConfig = authcore.TokenConfig
type TwoFactorConfig ¶
type TwoFactorConfig = authcore.TwoFactorConfig
type TwoFactorFactor ¶
type TwoFactorFactor = authcore.TwoFactorFactor
type TwoFactorSettings ¶
type TwoFactorSettings = authcore.TwoFactorSettings
type ValidationError ¶
type ValidationError = authcore.ValidationError
type VerificationMessage ¶
type VerificationMessage = authcore.VerificationMessage