iam

package
v0.10.14 Latest Latest
Warning

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

Go to latest
Published: May 18, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSessionExpiration added in v0.10.5

func GetSessionExpiration() time.Duration

GetSessionExpiration returns the configured session expiration time. If not configured, it returns the default value of 8 hours.

func Register

func Register(config ...Config)

Register registers IAM models, API routes, middleware, and scheduled jobs.

API Routes:

Session routes:

  • POST /api/iam/session/heartbeat
  • GET /api/iam/session/current
  • DELETE /api/iam/session/current
  • GET /api/iam/sessions
  • GET /api/iam/admin/sessions
  • GET /api/iam/admin/sessions/:id
  • DELETE /api/iam/sessions
  • DELETE /api/iam/sessions/:id
  • GET /api/online-users

Account management routes:

  • POST /api/login
  • POST /api/logout
  • POST /api/signup
  • POST /api/iam/change-password
  • POST /api/iam/reset-password
  • POST /api/iam/account-status

IAM resource routes:

  • POST /api/iam/users
  • DELETE /api/iam/users/:id
  • PATCH /api/iam/users/:id
  • GET /api/iam/users
  • GET /api/iam/users/:id
  • POST /api/iam/groups
  • DELETE /api/iam/groups/:id
  • PUT /api/iam/groups/:id
  • PATCH /api/iam/groups/:id
  • GET /api/iam/groups
  • GET /api/iam/groups/:id
  • POST /api/iam/tenants
  • DELETE /api/iam/tenants/:id
  • PUT /api/iam/tenants/:id
  • PATCH /api/iam/tenants/:id
  • GET /api/iam/tenants
  • GET /api/iam/tenants/:id

Email workflow routes:

  • POST /api/iam/email/verification-confirm
  • POST /api/iam/email/verification-request
  • POST /api/iam/email/verification-resend
  • POST /api/iam/email/password-reset-confirm
  • POST /api/iam/email/password-reset-request
  • POST /api/iam/email/change-request
  • POST /api/iam/email/change-resend
  • POST /api/iam/email/change-cancel
  • POST /api/iam/email/change-confirm

Middleware:

  • IAMSession for protected IAM routes and session-aware APIs

Scheduled jobs:

  • CleanupOnlineUser runs every 30 seconds and starts immediately after bootstrap

Configuration:

  • Tenant routes are registered only when EnableTenant is true
  • SessionExpiration defaults to 8 hours when not configured

NOTE: Register IAM modules before authz modules because authz middleware depends on IAMSession.

Types

type AccountStatusReq added in v0.10.14

type AccountStatusReq = modeliamaccount.AccountStatusReq

account

type AccountStatusRsp added in v0.10.14

type AccountStatusRsp = modeliamaccount.AccountStatusRsp

account

type AdminSessionUserView added in v0.10.14

type AdminSessionUserView = modeliamsession.AdminSessionUserView

account

type AdminSessionsDeleteReq added in v0.10.14

type AdminSessionsDeleteReq = modeliamsession.AdminSessionsDeleteReq

account

type AdminSessionsDeleteRsp added in v0.10.14

type AdminSessionsDeleteRsp = modeliamsession.AdminSessionsDeleteRsp

account

type AdminSessionsGetReq added in v0.10.14

type AdminSessionsGetReq = modeliamsession.AdminSessionsGetReq

account

type AdminSessionsGetRsp added in v0.10.14

type AdminSessionsGetRsp = modeliamsession.AdminSessionsGetRsp

account

type AdminSessionsListReq added in v0.10.14

type AdminSessionsListReq = modeliamsession.AdminSessionsListReq

account

type AdminSessionsListRsp added in v0.10.14

type AdminSessionsListRsp = modeliamsession.AdminSessionsListRsp

account

type AdminUserSessionsDeleteReq added in v0.10.14

type AdminUserSessionsDeleteReq = modeliamsession.AdminUserSessionsDeleteReq

account

type AdminUserSessionsDeleteRsp added in v0.10.14

type AdminUserSessionsDeleteRsp = modeliamsession.AdminUserSessionsDeleteRsp

account

type AdminUserSessionsListReq added in v0.10.14

type AdminUserSessionsListReq = modeliamsession.AdminUserSessionsListReq

account

type AdminUserSessionsListRsp added in v0.10.14

type AdminUserSessionsListRsp = modeliamsession.AdminUserSessionsListRsp

account

type ChangePasswordReq

type ChangePasswordReq = modeliamaccount.ChangePasswordReq

account

type ChangePasswordRsp

type ChangePasswordRsp = modeliamaccount.ChangePasswordRsp

account

type Config

type Config struct {
	EnableTenant      bool          // EnableTenant enables tenant module, default is false
	DefaultUsers      []*User       // DefaultUsers are default users to create on registration
	SessionExpiration time.Duration // SessionExpiration is the session expiration time, default is 8 hours
}

Config is the configuration for iam module.

type CurrentDeleteReq added in v0.10.14

type CurrentDeleteReq = modeliamsession.CurrentDeleteReq

account

type CurrentDeleteRsp added in v0.10.14

type CurrentDeleteRsp = modeliamsession.CurrentDeleteRsp

account

type CurrentListReq added in v0.10.14

type CurrentListReq = modeliamsession.CurrentListReq

account

type CurrentListRsp added in v0.10.14

type CurrentListRsp = modeliamsession.CurrentListRsp

account

type EmailChangeCancelReq added in v0.10.14

type EmailChangeCancelReq = modeliamemail.ChangeCancelReq

account

type EmailChangeCancelRsp added in v0.10.14

type EmailChangeCancelRsp = modeliamemail.ChangeCancelRsp

account

type EmailChangeConfirmReq added in v0.10.14

type EmailChangeConfirmReq = modeliamemail.ChangeConfirmReq

account

type EmailChangeConfirmRsp added in v0.10.14

type EmailChangeConfirmRsp = modeliamemail.ChangeConfirmRsp

account

type EmailChangeRequestReq added in v0.10.14

type EmailChangeRequestReq = modeliamemail.ChangeRequestReq

account

type EmailChangeRequestRsp added in v0.10.14

type EmailChangeRequestRsp = modeliamemail.ChangeRequestRsp

account

type EmailChangeResendReq added in v0.10.14

type EmailChangeResendReq = modeliamemail.ChangeResendReq

account

type EmailChangeResendRsp added in v0.10.14

type EmailChangeResendRsp = modeliamemail.ChangeResendRsp

account

type EmailPasswordResetConfirmReq added in v0.10.14

type EmailPasswordResetConfirmReq = modeliamemail.PasswordResetConfirmReq

account

type EmailPasswordResetConfirmRsp added in v0.10.14

type EmailPasswordResetConfirmRsp = modeliamemail.PasswordResetConfirmRsp

account

type EmailPasswordResetRequestReq added in v0.10.14

type EmailPasswordResetRequestReq = modeliamemail.PasswordResetRequestReq

account

type EmailPasswordResetRequestRsp added in v0.10.14

type EmailPasswordResetRequestRsp = modeliamemail.PasswordResetRequestRsp

account

type EmailVerificationConfirmReq added in v0.10.14

type EmailVerificationConfirmReq = modeliamemail.VerificationConfirmReq

account

type EmailVerificationConfirmRsp added in v0.10.14

type EmailVerificationConfirmRsp = modeliamemail.VerificationConfirmRsp

account

type EmailVerificationRequestReq added in v0.10.14

type EmailVerificationRequestReq = modeliamemail.VerificationRequestReq

account

type EmailVerificationRequestRsp added in v0.10.14

type EmailVerificationRequestRsp = modeliamemail.VerificationRequestRsp

account

type EmailVerificationResendReq added in v0.10.14

type EmailVerificationResendReq = modeliamemail.VerificationResendReq

account

type EmailVerificationResendRsp added in v0.10.14

type EmailVerificationResendRsp = modeliamemail.VerificationResendRsp

account

type Group

type Group = modeliamgroup.Group

account

type Heartbeat

type Heartbeat = modeliamsession.Heartbeat

account

type LoginReq

type LoginReq = modeliamaccount.LoginReq

account

type LoginRsp

type LoginRsp = modeliamaccount.LoginRsp

account

type LogoutRsp

type LogoutRsp = modeliamaccount.LogoutRsp

account

type OnlineUser

type OnlineUser = modeliamsession.OnlineUser

account

type ResetPasswordReq added in v0.10.14

type ResetPasswordReq = modeliamaccount.ResetPasswordReq

account

type ResetPasswordRsp added in v0.10.14

type ResetPasswordRsp = modeliamaccount.ResetPasswordRsp

account

type Session

type Session = modeliamsession.Session

account

type SessionView added in v0.10.14

type SessionView = modeliamsession.SessionView

account

type SessionsDeleteAllReq added in v0.10.14

type SessionsDeleteAllReq = modeliamsession.SessionsDeleteAllReq

account

type SessionsDeleteAllRsp added in v0.10.14

type SessionsDeleteAllRsp = modeliamsession.SessionsDeleteAllRsp

account

type SessionsDeleteReq added in v0.10.14

type SessionsDeleteReq = modeliamsession.SessionsDeleteReq

account

type SessionsDeleteRsp added in v0.10.14

type SessionsDeleteRsp = modeliamsession.SessionsDeleteRsp

account

type SessionsGetReq added in v0.10.14

type SessionsGetReq = modeliamsession.SessionsGetReq

account

type SessionsGetRsp added in v0.10.14

type SessionsGetRsp = modeliamsession.SessionsGetRsp

account

type SessionsListReq added in v0.10.14

type SessionsListReq = modeliamsession.SessionsListReq

account

type SessionsListRsp added in v0.10.14

type SessionsListRsp = modeliamsession.SessionsListRsp

account

type SignupReq

type SignupReq = modeliamaccount.SignupReq

account

type SignupRsp

type SignupRsp = modeliamaccount.SignupRsp

account

type Tenant

type Tenant = modeliamtenant.Tenant

account

type Token

type Token = modeliamsession.Token

account

type User

type User = modeliamuser.User

account

Jump to

Keyboard shortcuts

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