Table of Contents Developer Guide Overview Table of Contents Quickstart → Developer Guide Overview Devstack for building application and modules for CzechIdM. This document is a reference guide to devstack features. Table of Contents Quickstart Table of Contents Developing a module Quickstart - backend Quickstart - backend Quickstart - frontend Quickstart - frontend Eclipse Update project after pulling new version IDEA Atom Conventions Table of Contents Conventions of database design Conventions of database design Database scripts Testing Architecture Table of Contents Architecture - backend Application layers Backend functional requirements Non-functional requirements Architecture - frontend Application modules Application layers Modularity Backend Frontend Database design Database scripts JPA metamodel Primary keys (bigint vs. uuid) Database scripts (Flyway) API documentation (Swagger) Configuration Conventions Tips Implementation details Events - processing of events Event lifecycle Supported events Event types Basic interfaces Basic classes Transactions Predefined processors order Processor configuration Implemented processors Example Filters Example filter Filter configuration Implemented filters Configuration Table of Contents Configuration - backend Configuration - backend Configuration items Configuration - frontend Dynamic forms (eav) Adding the support of extended attributes for a new entity Agenda for working with forms Future development Tasks scheduler Stateful task executors Implemented task types Testing tips Initializer Security Table of Contents Dictionary terms API authentication Authentication Authorization and JWT token Token expiration extension SSO Authentication Basic view Authenticators Password change & old password Authorization policies Base interfaces and classes Base authorization evaluators Default policies Examples of configuration Employing policies for a new domain type - entity Changing user permissions Role request agenda REST interface Security Password policies Standard policies Policy <-> System link Password generation Validation Password policies, Signs Password policies, advanced password control Passwords General Future development Confidential storage Auditing IdmAuditService REST endpoints Front-end IdmAuditListener Temporary errors Endpoint for getting entities with their relations Logging Logging event and logging event exception Notifications Emailer Sms Sending notification and processing Future developement Notification templates Notification templates Workflow Workflow System System Virtual system What is a virtual system? Basic life cycle of virtual system Requests Notifications Virtual system configuration How does it works inside? Known limitations Connector configuration and attribute mapping Connector configuration System scheme Attribute mapping Password mapping Linking a role Linking a role - attribute overload Remote connector server Why use remote connector server? How to set up a remote connector server? How does a remote connector server works in CzechIdM? Example of remote connector server setup IC (Identity Connector) module IC (Identity Connector) module Supported connectors ConnId connectors OpenICF connectors Most frequently connected systems Account Management Example of account life cycle Name of account in IDM Account protection system Account protection system Synchronization Situation Connector synchronization vs. my own filter Workflow Logs Events Scheduled task Synchronization - roles Synchronization - roles Synchronization - tree nodes Synchronization - tree nodes Provisioning Provisioning queue Provisioning - role Provisioning - role Provisioning - role catalogues Provisioning - role catalogues Provisioning - tree nodes Provisioning - tree nodes Organizational structure Default organizational structure Default organizational structure Contractual relationship (CR) Contractual relationship (CR) Tree structures indexing Automatically assigned roles Developer Guide Quickstart → Log In