auth modülü oturum açmayı ve belirteç yenilemeyi, kullanıcıları, rolleri, yetkileri, ABAC ilkelerini, onay zincirlerini ve adımlarını, onay taleplerini, bildirim kurallarını ve kullanıcı başına arayüz durumunu sunar. 56 uç noktanın tamamı /api/v1/auth altındadır. İş anlamı için Auth modülü sayfasına bakın.
Grup olguları¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Temel yol | /api/v1/auth |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/auth/module.py:58 |
| Yönlendiriciler | 9 dosyada 10 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir | src/cluster_erp/modules/auth/module.py:32 |
| Uç noktalar | 56; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı |
src/cluster_erp/modules/auth/approval_chains/routes.py, src/cluster_erp/modules/auth/approvals/routes.py, src/cluster_erp/modules/auth/login/routes.py ... |
| Kimlik doğrulama | Bearer başlığı veya oturum çerezi, get_current_user ile çözülür; bkz. Kimlik doğrulama ve başlıklar |
src/cluster_erp/modules/auth/guards.py:85-167 |
| Yetki koruması | 56 yolun 44 tanesi require_permission bildirir; diğer yollar korumalarını tablolarda gösterir |
src/cluster_erp/modules/auth/guards.py:205-240 |
| Hata biçimi | JSON gövdesi {"error": {...}}; bkz. Hatalar |
src/cluster_erp/server/error_handler.py:33-46 |
Uç nokta özeti¶
Alt modül klasörü başına bir satır. Yönlendirici öneki temel yola eklenir.
| Alt modül | Yönlendiriciler | Uç noktalar | Yönlendirici kaynağı |
|---|---|---|---|
login |
router |
4 | src/cluster_erp/modules/auth/login/routes.py:51 |
users |
router (/users) |
8 | src/cluster_erp/modules/auth/users/routes.py:23 |
roles |
router (/roles) |
8 | src/cluster_erp/modules/auth/roles/routes.py:20 |
permissions |
router (/permissions) |
1 | src/cluster_erp/modules/auth/permissions/routes.py:11 |
policies |
router (/policies) |
6 | src/cluster_erp/modules/auth/policies/routes.py:15 |
approval_chains |
router (/approval-chains), steps_router (/approval-steps) |
12 | src/cluster_erp/modules/auth/approval_chains/routes.py:21, src/cluster_erp/modules/auth/approval_chains/routes.py:25 |
approvals |
router (/approvals) |
9 | src/cluster_erp/modules/auth/approvals/routes.py:22 |
notification_rules |
router (/notification-rules) |
6 | src/cluster_erp/modules/auth/notification_rules/routes.py:21 |
ui_state |
router |
2 | src/cluster_erp/modules/auth/ui_state/routes.py:13 |
Oturum açma ve oturum uç noktaları¶
Oturum açma, belirteç yenileme, oturum kapatma ve geçerli kullanıcı okuması. Mekanizma Kimlik doğrulama ve başlıklar sayfasında anlatılır.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
POST |
/api/v1/auth/login |
login |
yok (oturum açma) | LoginRequest |
yok | LoginResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/login/routes.py:123 |
POST |
/api/v1/auth/refresh |
refresh |
yenileme belirteci | RefreshRequest \| None |
yok | RefreshResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/login/routes.py:260 |
POST |
/api/v1/auth/logout |
logout |
oturum açmış kullanıcı (get_current_user) |
yok | yok | Response |
204 |
src/cluster_erp/modules/auth/login/routes.py:373 |
GET |
/api/v1/auth/me |
me |
oturum açmış kullanıcı (get_current_user) |
yok | yok | MeResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/login/routes.py:434 |
Kullanıcılar uç noktaları¶
Kullanıcı listeleme, oluşturma, okuma, güncelleme, kullanımdan kaldırma, toplu kullanımdan kaldırma, kendi parolasını değiştirme ve yönetici parola sıfırlama.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/users/ |
list_users |
user.read |
yok | search, active_only, limit, offset |
dict |
200 (varsayılan) | src/cluster_erp/modules/auth/users/routes.py:59 |
POST |
/api/v1/auth/users/ |
create_user |
user.create |
UserCreate |
yok | UserRead |
201 |
src/cluster_erp/modules/auth/users/routes.py:111 |
GET |
/api/v1/auth/users/{user_id} |
get_user |
user.read |
yok | yok | UserRead |
200 (varsayılan) | src/cluster_erp/modules/auth/users/routes.py:111 |
PUT |
/api/v1/auth/users/{user_id} |
update_user |
user.update |
UserUpdate |
yok | UserRead |
200 (varsayılan) | src/cluster_erp/modules/auth/users/routes.py:124 |
DELETE |
/api/v1/auth/users/{user_id} |
delete_user |
user.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/users/routes.py:140 |
POST |
/api/v1/auth/users/bulk-delete |
bulk_delete_users |
user.delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/users/routes.py:151 |
POST |
/api/v1/auth/users/me/change-password |
change_own_password |
oturum açmış kullanıcı (get_current_user) |
ChangePasswordRequest |
yok | yok | 204 |
src/cluster_erp/modules/auth/users/routes.py:162 |
POST |
/api/v1/auth/users/{user_id}/reset-password |
reset_password |
user.reset_password |
ResetPasswordRequest |
yok | yok | 204 |
src/cluster_erp/modules/auth/users/routes.py:177 |
Roller uç noktaları¶
Rol kayıtları ve bir role atanan yetki kümesi.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/roles/ |
list_roles |
role.read |
yok | active_only, search |
list[RoleRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:42 |
POST |
/api/v1/auth/roles/ |
create_role |
role.create |
RoleCreate |
yok | RoleRead |
201 |
src/cluster_erp/modules/auth/roles/routes.py:54 |
GET |
/api/v1/auth/roles/{role_id} |
get_role |
role.read |
yok | yok | RoleRead |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:68 |
PUT |
/api/v1/auth/roles/{role_id} |
update_role |
role.update |
RoleUpdate |
yok | RoleRead |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:81 |
DELETE |
/api/v1/auth/roles/{role_id} |
delete_role |
role.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/roles/routes.py:95 |
POST |
/api/v1/auth/roles/bulk-delete |
bulk_delete_roles |
role.delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:111 |
GET |
/api/v1/auth/roles/{role_id}/permissions |
get_role_permissions |
permission.read |
yok | yok | list[uuid.UUID] |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:122 |
PUT |
/api/v1/auth/roles/{role_id}/permissions |
assign_role_permissions |
permission.assign |
RolePermissionAssign |
yok | RoleRead |
200 (varsayılan) | src/cluster_erp/modules/auth/roles/routes.py:135 |
Yetkiler uç noktaları¶
Yetki kodlarının salt okunur listesi.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/permissions/ |
list_permissions |
permission.read |
yok | module, resource |
list[PermissionRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/permissions/routes.py:14 |
ABAC ilkeleri uç noktaları¶
Yetki kodlarına bağlanan öznitelik tabanlı erişim ilkeleri.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/policies/ |
list_policies |
abac_policy.read |
yok | active_only, search |
list[PolicyRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/policies/routes.py:18 |
POST |
/api/v1/auth/policies/ |
create_policy |
abac_policy.create |
PolicyCreate |
yok | PolicyRead |
201 |
src/cluster_erp/modules/auth/policies/routes.py:30 |
GET |
/api/v1/auth/policies/{policy_id} |
get_policy |
abac_policy.read |
yok | yok | PolicyRead |
200 (varsayılan) | src/cluster_erp/modules/auth/policies/routes.py:41 |
PUT |
/api/v1/auth/policies/{policy_id} |
update_policy |
abac_policy.update |
PolicyUpdate |
yok | PolicyRead |
200 (varsayılan) | src/cluster_erp/modules/auth/policies/routes.py:54 |
DELETE |
/api/v1/auth/policies/{policy_id} |
delete_policy |
abac_policy.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/policies/routes.py:68 |
POST |
/api/v1/auth/policies/bulk-delete |
bulk_delete_policies |
abac_policy.delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/policies/routes.py:79 |
Onay zincirleri uç noktaları¶
İki yönlendirici: onay zincirleri ve zincir altındaki adımlar için router, tekil adımlar için steps_router.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/approval-chains/ |
list_chains |
approval_chain.read |
yok | active_only, search |
list[ChainRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:32 |
POST |
/api/v1/auth/approval-chains/ |
create_chain |
approval_chain.create |
ChainCreate |
yok | ChainRead |
201 |
src/cluster_erp/modules/auth/approval_chains/routes.py:44 |
GET |
/api/v1/auth/approval-chains/{chain_id} |
get_chain |
approval_chain.read |
yok | yok | ChainRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:55 |
PUT |
/api/v1/auth/approval-chains/{chain_id} |
update_chain |
approval_chain.update |
ChainUpdate |
yok | ChainRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:68 |
DELETE |
/api/v1/auth/approval-chains/{chain_id} |
delete_chain |
approval_chain.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/approval_chains/routes.py:82 |
POST |
/api/v1/auth/approval-chains/bulk-delete |
bulk_delete_chains |
approval_chain.delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:93 |
GET |
/api/v1/auth/approval-chains/{chain_id}/steps |
list_chain_steps |
approval_chain.read |
yok | yok | list[ApprovalStepRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:110 |
POST |
/api/v1/auth/approval-chains/{chain_id}/steps |
add_chain_step |
approval_chain.update |
ApprovalStepCreate |
yok | ApprovalStepRead |
201 |
src/cluster_erp/modules/auth/approval_chains/routes.py:121 |
GET |
/api/v1/auth/approval-steps/{step_id} |
get_step |
approval_chain.read |
yok | yok | ApprovalStepRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:135 |
PUT |
/api/v1/auth/approval-steps/{step_id} |
update_step |
approval_chain.update |
ApprovalStepCreate |
yok | ApprovalStepRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:148 |
DELETE |
/api/v1/auth/approval-steps/{step_id} |
delete_step |
approval_chain.update |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/approval_chains/routes.py:162 |
POST |
/api/v1/auth/approval-steps/bulk-delete |
bulk_delete_steps |
approval_chain.update |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/approval_chains/routes.py:173 |
Onay talepleri uç noktaları¶
Onay talepleri: bekleyen liste, çağıranın gelen kutusu, oluşturma, okuma, karar verme, erteleme ve ertelemeyi kaldırma, iptal ve bir varlığın onayları.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/approvals/pending |
list_pending |
permission.read |
yok | yok | list[ApprovalRequestRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:25 |
GET |
/api/v1/auth/approvals/inbox |
approval_inbox |
oturum açmış kullanıcı (get_current_user) |
yok | yok | list[dict[str, Any]] |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:35 |
POST |
/api/v1/auth/approvals/ |
create_approval_request |
permission.assign |
ApprovalRequestCreate |
yok | ApprovalRequestRead |
201 |
src/cluster_erp/modules/auth/approvals/routes.py:56 |
GET |
/api/v1/auth/approvals/{request_id} |
get_approval_request |
permission.read |
yok | yok | ApprovalRequestRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:77 |
POST |
/api/v1/auth/approvals/{request_id}/decide |
decide_approval |
oturum açmış kullanıcı (get_current_user) |
ApprovalDecisionCreate |
yok | ApprovalRequestRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:90 |
POST |
/api/v1/auth/approvals/{request_id}/defer |
defer_approval |
oturum açmış kullanıcı (get_current_user) |
ApprovalDeferCreate |
yok | ApprovalDeferRead |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:134 |
DELETE |
/api/v1/auth/approvals/{request_id}/defer |
lift_approval_defer |
oturum açmış kullanıcı (get_current_user) |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/approvals/routes.py:157 |
POST |
/api/v1/auth/approvals/{request_id}/cancel |
cancel_approval |
oturum açmış kullanıcı (get_current_user) |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/approvals/routes.py:171 |
GET |
/api/v1/auth/approvals/entity/{entity_type}/{entity_id} |
get_entity_approvals |
permission.read |
yok | yok | list[ApprovalRequestRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/approvals/routes.py:189 |
Bildirim kuralları uç noktaları¶
Bildirim kuralı kayıtları.
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/notification-rules/ |
list_notification_rules |
notification_rule.read |
yok | active_only, search |
list[NotificationRuleRead] |
200 (varsayılan) | src/cluster_erp/modules/auth/notification_rules/routes.py:24 |
POST |
/api/v1/auth/notification-rules/ |
create_notification_rule |
notification_rule.create |
NotificationRuleCreate |
yok | NotificationRuleRead |
201 |
src/cluster_erp/modules/auth/notification_rules/routes.py:36 |
GET |
/api/v1/auth/notification-rules/{rule_id} |
get_notification_rule |
notification_rule.read |
yok | yok | NotificationRuleRead |
200 (varsayılan) | src/cluster_erp/modules/auth/notification_rules/routes.py:47 |
PUT |
/api/v1/auth/notification-rules/{rule_id} |
update_notification_rule |
notification_rule.update |
NotificationRuleUpdate |
yok | NotificationRuleRead |
200 (varsayılan) | src/cluster_erp/modules/auth/notification_rules/routes.py:60 |
DELETE |
/api/v1/auth/notification-rules/{rule_id} |
delete_notification_rule |
notification_rule.delete |
yok | yok | yok | 204 |
src/cluster_erp/modules/auth/notification_rules/routes.py:74 |
POST |
/api/v1/auth/notification-rules/bulk-delete |
bulk_delete_notification_rules |
notification_rule.delete |
BulkDeleteRequest |
yok | BulkDeleteResponse |
200 (varsayılan) | src/cluster_erp/modules/auth/notification_rules/routes.py:85 |
Arayüz durumu uç noktaları¶
Oturum açmış kullanıcının kendi yerleşim durumu; bütün olarak okunur, anahtar başına yazılır. İşleyici kullanıcı kimliğini kimlik bilgisinden alır (src/cluster_erp/modules/auth/ui_state/routes.py:15-18).
| Yöntem | Yol | İşleyici | Yetki | İstek | Sorgu | Yanıt | Durum | Kaynak |
|---|---|---|---|---|---|---|---|---|
GET |
/api/v1/auth/ui-state |
get_my_ui_state |
oturum açmış kullanıcı (get_current_user) |
yok | yok | dict |
200 (varsayılan) | src/cluster_erp/modules/auth/ui_state/routes.py:21 |
PUT |
/api/v1/auth/ui-state/{key} |
put_my_ui_state |
oturum açmış kullanıcı (get_current_user) |
UiStateWrite |
yok | yok | 204 |
src/cluster_erp/modules/auth/ui_state/routes.py:30 |
Hata kodları¶
Tablo, src/cluster_erp/modules/auth/ altındaki kodun attığı hata kodlarını listeler. Kodlar, AppError(...) çağrıları, src/cluster_erp/core/errors.py içindeki fabrikalar (not_found, conflict, protected, permission_denied, privilege_escalation, check_version) ve HTTPException(...) için yapılan bir sözdizimi ağacı taramasıyla bulundu. 400 durumu AppError varsayılanıdır (src/cluster_erp/core/errors.py:23). Koruma hataları (401, 403), yetkilendirme kodları ve doğrulama hataları (422) her yol için geçerlidir ve Hatalar sayfasında listelenir.
| Kod | HTTP durumu | Atıldığı yer | İlk konum |
|---|---|---|---|
ABAC_RESOURCE_RULES_UNSUPPORTED |
422 |
policies |
src/cluster_erp/modules/auth/policies/services.py:81 |
APPROVAL_INVALID_STATE |
400, 409, 422 |
approval_chains, approvals |
src/cluster_erp/modules/auth/approval_chains/services.py:132 |
AUTH_CSRF_HEADER_MISSING |
403 |
login, session_cookies |
src/cluster_erp/modules/auth/login/routes.py:271 |
AUTH_INVALID_CREDENTIALS |
401 |
login, users |
src/cluster_erp/modules/auth/login/routes.py:143 |
AUTH_MISSING_HEADER |
401 |
guards |
src/cluster_erp/modules/auth/guards.py:103 |
AUTH_PERMISSION_DENIED |
403 |
approvals, guards |
src/cluster_erp/modules/auth/approvals/services.py:364 |
AUTH_PRIVILEGE_ESCALATION |
403 |
roles, users |
src/cluster_erp/modules/auth/roles/services.py:163 |
AUTH_REFRESH_FAILED |
401 |
login |
src/cluster_erp/modules/auth/login/routes.py:269 |
AUTH_SELF_APPROVAL_FORBIDDEN |
403 |
approvals |
src/cluster_erp/modules/auth/approvals/services.py:314 |
AUTH_TOKEN_BLACKLISTED |
401 |
guards |
src/cluster_erp/modules/auth/guards.py:131 |
AUTH_TOKEN_EXPIRED |
401 |
guards |
src/cluster_erp/modules/auth/guards.py:113 |
AUTH_TOKEN_INVALID |
401 |
guards |
src/cluster_erp/modules/auth/guards.py:115 |
AUTH_TOKEN_PAYLOAD_INVALID |
401 |
guards |
src/cluster_erp/modules/auth/guards.py:120 |
AUTH_TOO_MANY_ATTEMPTS |
429 |
login |
src/cluster_erp/modules/auth/login/routes.py:93 |
AUTH_USER_INACTIVE |
401 |
guards, login |
src/cluster_erp/modules/auth/guards.py:151 |
RESOURCE_CONFLICT |
409 |
roles, users |
src/cluster_erp/modules/auth/roles/routes.py:63 |
RESOURCE_NOT_FOUND |
404 |
approval_chains, approvals, notification_rules, policies, roles, users |
src/cluster_erp/modules/auth/approval_chains/routes.py:64 |
RESOURCE_PROTECTED |
400 |
roles |
src/cluster_erp/modules/auth/roles/routes.py:106 |
VALIDATION_ERROR |
422 |
users |
src/cluster_erp/modules/auth/users/routes.py:87 |
Yayımlanan olaylar¶
Tablo, src/cluster_erp/modules/auth/ altındaki kodun EventBus.emit çağrısına doğrudan verdiği sözleşme sınıflarını listeler; sözdizimi ağacı taramasıyla bulundu. Önce bir değişkene kurulan olaylar sayılmaz. Sözleşmeler Sözleşmeler başvurusu sayfasında anlatılır.
| Sözleşme | Konum sayısı | İlk konum |
|---|---|---|
ApprovalCompleted |
1 | src/cluster_erp/modules/auth/approvals/routes.py:119 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.