Documentation
¶
Index ¶
- func GetSessionExpiration() time.Duration
- func Register(config ...Config)
- type AccountStatusReq
- type AccountStatusRsp
- type AdminSessionUserView
- type AdminSessionsDeleteReq
- type AdminSessionsDeleteRsp
- type AdminSessionsGetReq
- type AdminSessionsGetRsp
- type AdminSessionsListReq
- type AdminSessionsListRsp
- type AdminUserSessionsDeleteReq
- type AdminUserSessionsDeleteRsp
- type AdminUserSessionsListReq
- type AdminUserSessionsListRsp
- type ChangePasswordReq
- type ChangePasswordRsp
- type Config
- type CurrentDeleteReq
- type CurrentDeleteRsp
- type CurrentListReq
- type CurrentListRsp
- type EmailChangeCancelReq
- type EmailChangeCancelRsp
- type EmailChangeConfirmReq
- type EmailChangeConfirmRsp
- type EmailChangeRequestReq
- type EmailChangeRequestRsp
- type EmailChangeResendReq
- type EmailChangeResendRsp
- type EmailPasswordResetConfirmReq
- type EmailPasswordResetConfirmRsp
- type EmailPasswordResetRequestReq
- type EmailPasswordResetRequestRsp
- type EmailVerificationConfirmReq
- type EmailVerificationConfirmRsp
- type EmailVerificationRequestReq
- type EmailVerificationRequestRsp
- type EmailVerificationResendReq
- type EmailVerificationResendRsp
- type Group
- type Heartbeat
- type LoginReq
- type LoginRsp
- type LogoutRsp
- type OnlineUser
- type ResetPasswordReq
- type ResetPasswordRsp
- type Session
- type SessionView
- type SessionsDeleteAllReq
- type SessionsDeleteAllRsp
- type SessionsDeleteReq
- type SessionsDeleteRsp
- type SessionsGetReq
- type SessionsGetRsp
- type SessionsListReq
- type SessionsListRsp
- type SignupReq
- type SignupRsp
- type Tenant
- type Token
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSessionExpiration ¶ added in v0.10.5
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 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 ResetPasswordReq ¶ added in v0.10.14
type ResetPasswordReq = modeliamaccount.ResetPasswordReq
account
type ResetPasswordRsp ¶ added in v0.10.14
type ResetPasswordRsp = modeliamaccount.ResetPasswordRsp
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