privacyIDEA 3.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- privacyidea/__init__.py +34 -0
- privacyidea/api/__init__.py +30 -0
- privacyidea/api/application.py +93 -0
- privacyidea/api/audit.py +148 -0
- privacyidea/api/auth.py +542 -0
- privacyidea/api/before_after.py +655 -0
- privacyidea/api/caconnector.py +98 -0
- privacyidea/api/clienttype.py +74 -0
- privacyidea/api/container.py +1230 -0
- privacyidea/api/event.py +220 -0
- privacyidea/api/healthcheck.py +262 -0
- privacyidea/api/info.py +69 -0
- privacyidea/api/lib/__init__.py +0 -0
- privacyidea/api/lib/decorators.py +46 -0
- privacyidea/api/lib/policyhelper.py +404 -0
- privacyidea/api/lib/postpolicy.py +1236 -0
- privacyidea/api/lib/prepolicy.py +2887 -0
- privacyidea/api/lib/utils.py +524 -0
- privacyidea/api/machine.py +407 -0
- privacyidea/api/machineresolver.py +144 -0
- privacyidea/api/monitoring.py +111 -0
- privacyidea/api/periodictask.py +211 -0
- privacyidea/api/policy.py +596 -0
- privacyidea/api/privacyideaserver.py +124 -0
- privacyidea/api/radiusserver.py +137 -0
- privacyidea/api/realm.py +566 -0
- privacyidea/api/recover.py +87 -0
- privacyidea/api/register.py +178 -0
- privacyidea/api/resolver.py +199 -0
- privacyidea/api/serviceid.py +188 -0
- privacyidea/api/smsgateway.py +148 -0
- privacyidea/api/smtpserver.py +143 -0
- privacyidea/api/subscriptions.py +79 -0
- privacyidea/api/system.py +519 -0
- privacyidea/api/token.py +1399 -0
- privacyidea/api/tokengroup.py +186 -0
- privacyidea/api/ttype.py +124 -0
- privacyidea/api/user.py +361 -0
- privacyidea/api/validate.py +884 -0
- privacyidea/app.py +439 -0
- privacyidea/cli/__init__.py +71 -0
- privacyidea/cli/pimanage/__init__.py +21 -0
- privacyidea/cli/pimanage/admin.py +69 -0
- privacyidea/cli/pimanage/api.py +75 -0
- privacyidea/cli/pimanage/audit.py +205 -0
- privacyidea/cli/pimanage/backup.py +236 -0
- privacyidea/cli/pimanage/challenge.py +59 -0
- privacyidea/cli/pimanage/main.py +135 -0
- privacyidea/cli/pimanage/pi_config.py +695 -0
- privacyidea/cli/pimanage/pi_setup.py +227 -0
- privacyidea/cli/pimanage/token.py +46 -0
- privacyidea/cli/pitokenjanitor/__init__.py +21 -0
- privacyidea/cli/pitokenjanitor/main.py +60 -0
- privacyidea/cli/pitokenjanitor/utils/__init__.py +0 -0
- privacyidea/cli/pitokenjanitor/utils/findtokens.py +747 -0
- privacyidea/cli/pitokenjanitor/utils/importtokens.py +171 -0
- privacyidea/cli/pitokenjanitor/utils/updatetokens.py +80 -0
- privacyidea/cli/privacyideatokenjanitor/__init__.py +21 -0
- privacyidea/cli/privacyideatokenjanitor/findtokens.py +610 -0
- privacyidea/cli/privacyideatokenjanitor/loadtokens.py +91 -0
- privacyidea/cli/privacyideatokenjanitor/main.py +60 -0
- privacyidea/cli/privacyideatokenjanitor/updatetokens.py +74 -0
- privacyidea/cli/tools/__init__.py +0 -0
- privacyidea/cli/tools/cron.py +204 -0
- privacyidea/cli/tools/expired_users.py +157 -0
- privacyidea/cli/tools/get_serial.py +96 -0
- privacyidea/cli/tools/get_unused_tokens.py +169 -0
- privacyidea/cli/tools/standalone.py +266 -0
- privacyidea/cli/tools/usercache_cleanup.py +112 -0
- privacyidea/config.py +293 -0
- privacyidea/lib/__init__.py +21 -0
- privacyidea/lib/applications/__init__.py +27 -0
- privacyidea/lib/applications/base.py +190 -0
- privacyidea/lib/applications/luks.py +95 -0
- privacyidea/lib/applications/offline.py +236 -0
- privacyidea/lib/applications/ssh.py +111 -0
- privacyidea/lib/apps.py +193 -0
- privacyidea/lib/audit.py +139 -0
- privacyidea/lib/auditmodules/__init__.py +0 -0
- privacyidea/lib/auditmodules/base.py +281 -0
- privacyidea/lib/auditmodules/containeraudit.py +118 -0
- privacyidea/lib/auditmodules/loggeraudit.py +88 -0
- privacyidea/lib/auditmodules/sqlaudit.py +623 -0
- privacyidea/lib/auth.py +148 -0
- privacyidea/lib/authcache.py +162 -0
- privacyidea/lib/cache/__init__.py +20 -0
- privacyidea/lib/caconnector.py +328 -0
- privacyidea/lib/caconnectors/__init__.py +0 -0
- privacyidea/lib/caconnectors/baseca.py +161 -0
- privacyidea/lib/caconnectors/caservice_pb2.py +73 -0
- privacyidea/lib/caconnectors/caservice_pb2_grpc.py +354 -0
- privacyidea/lib/caconnectors/localca.py +705 -0
- privacyidea/lib/caconnectors/msca.py +436 -0
- privacyidea/lib/challenge.py +264 -0
- privacyidea/lib/challengeresponsedecorators.py +204 -0
- privacyidea/lib/clientapplication.py +105 -0
- privacyidea/lib/config.py +1168 -0
- privacyidea/lib/container.py +1685 -0
- privacyidea/lib/containerclass.py +1015 -0
- privacyidea/lib/containers/__init__.py +0 -0
- privacyidea/lib/containers/container_info.py +61 -0
- privacyidea/lib/containers/container_states.py +63 -0
- privacyidea/lib/containers/smartphone.py +495 -0
- privacyidea/lib/containers/smartphone_options.py +27 -0
- privacyidea/lib/containers/yubikey.py +62 -0
- privacyidea/lib/containertemplate/__init__.py +0 -0
- privacyidea/lib/containertemplate/containertemplatebase.py +109 -0
- privacyidea/lib/containertemplate/smartphonetemplate.py +48 -0
- privacyidea/lib/containertemplate/yubikeytemplate.py +50 -0
- privacyidea/lib/counter.py +107 -0
- privacyidea/lib/crypto.py +1194 -0
- privacyidea/lib/decorators.py +151 -0
- privacyidea/lib/error.py +226 -0
- privacyidea/lib/event.py +319 -0
- privacyidea/lib/eventhandler/__init__.py +0 -0
- privacyidea/lib/eventhandler/base.py +1061 -0
- privacyidea/lib/eventhandler/containerhandler.py +332 -0
- privacyidea/lib/eventhandler/counterhandler.py +111 -0
- privacyidea/lib/eventhandler/customuserattributeshandler.py +143 -0
- privacyidea/lib/eventhandler/federationhandler.py +179 -0
- privacyidea/lib/eventhandler/logginghandler.py +159 -0
- privacyidea/lib/eventhandler/requestmangler.py +177 -0
- privacyidea/lib/eventhandler/responsemangler.py +167 -0
- privacyidea/lib/eventhandler/scripthandler.py +218 -0
- privacyidea/lib/eventhandler/tokenhandler.py +684 -0
- privacyidea/lib/eventhandler/usernotification.py +533 -0
- privacyidea/lib/eventhandler/webhookeventhandler.py +194 -0
- privacyidea/lib/fido2/__init__.py +0 -0
- privacyidea/lib/fido2/challenge.py +133 -0
- privacyidea/lib/fido2/config.py +4 -0
- privacyidea/lib/fido2/policy_action.py +18 -0
- privacyidea/lib/fido2/token_info.py +24 -0
- privacyidea/lib/fido2/util.py +120 -0
- privacyidea/lib/framework.py +61 -0
- privacyidea/lib/importotp.py +784 -0
- privacyidea/lib/info/__init__.py +0 -0
- privacyidea/lib/info/rss.py +72 -0
- privacyidea/lib/lifecycle.py +52 -0
- privacyidea/lib/log.py +233 -0
- privacyidea/lib/machine.py +506 -0
- privacyidea/lib/machineresolver.py +296 -0
- privacyidea/lib/machines/__init__.py +28 -0
- privacyidea/lib/machines/base.py +179 -0
- privacyidea/lib/machines/hosts.py +155 -0
- privacyidea/lib/machines/ldap.py +346 -0
- privacyidea/lib/monitoringmodules/__init__.py +0 -0
- privacyidea/lib/monitoringmodules/base.py +97 -0
- privacyidea/lib/monitoringmodules/sqlstats.py +182 -0
- privacyidea/lib/monitoringstats.py +128 -0
- privacyidea/lib/passwordreset.py +148 -0
- privacyidea/lib/periodictask.py +307 -0
- privacyidea/lib/pinhandling/__init__.py +0 -0
- privacyidea/lib/pinhandling/base.py +75 -0
- privacyidea/lib/policies/__init__.py +0 -0
- privacyidea/lib/policies/actions.py +215 -0
- privacyidea/lib/policies/conditions.py +479 -0
- privacyidea/lib/policies/helper.py +128 -0
- privacyidea/lib/policy.py +3486 -0
- privacyidea/lib/policydecorators.py +615 -0
- privacyidea/lib/pooling.py +126 -0
- privacyidea/lib/privacyideaserver.py +237 -0
- privacyidea/lib/queue.py +154 -0
- privacyidea/lib/queues/__init__.py +17 -0
- privacyidea/lib/queues/base.py +58 -0
- privacyidea/lib/queues/huey_queue.py +51 -0
- privacyidea/lib/radiusserver.py +361 -0
- privacyidea/lib/realm.py +314 -0
- privacyidea/lib/resolver.py +433 -0
- privacyidea/lib/resolvers/EntraIDResolver.py +461 -0
- privacyidea/lib/resolvers/HTTPResolver.py +1139 -0
- privacyidea/lib/resolvers/KeycloakResolver.py +331 -0
- privacyidea/lib/resolvers/LDAPIdResolver.py +1467 -0
- privacyidea/lib/resolvers/PasswdIdResolver.py +491 -0
- privacyidea/lib/resolvers/SCIMIdResolver.py +314 -0
- privacyidea/lib/resolvers/SQLIdResolver.py +767 -0
- privacyidea/lib/resolvers/UserIdResolver.py +289 -0
- privacyidea/lib/resolvers/__init__.py +6 -0
- privacyidea/lib/resolvers/util.py +49 -0
- privacyidea/lib/security/__init__.py +1 -0
- privacyidea/lib/security/aeshsm.py +350 -0
- privacyidea/lib/security/default.py +506 -0
- privacyidea/lib/security/encryptkey.py +371 -0
- privacyidea/lib/security/password/__init__.py +1 -0
- privacyidea/lib/serviceid.py +75 -0
- privacyidea/lib/smsprovider/FirebaseProvider.py +213 -0
- privacyidea/lib/smsprovider/HttpSMSProvider.py +297 -0
- privacyidea/lib/smsprovider/SMSProvider.py +354 -0
- privacyidea/lib/smsprovider/ScriptSMSProvider.py +126 -0
- privacyidea/lib/smsprovider/SipgateSMSProvider.py +128 -0
- privacyidea/lib/smsprovider/SmppSMSProvider.py +146 -0
- privacyidea/lib/smsprovider/SmtpSMSProvider.py +136 -0
- privacyidea/lib/smsprovider/__init__.py +35 -0
- privacyidea/lib/smtpserver.py +336 -0
- privacyidea/lib/sqlutils.py +119 -0
- privacyidea/lib/subscriptions.py +363 -0
- privacyidea/lib/task/__init__.py +0 -0
- privacyidea/lib/task/base.py +56 -0
- privacyidea/lib/task/eventcounter.py +75 -0
- privacyidea/lib/task/simplestats.py +94 -0
- privacyidea/lib/token.py +3069 -0
- privacyidea/lib/tokenclass.py +2042 -0
- privacyidea/lib/tokengroup.py +78 -0
- privacyidea/lib/tokens/HMAC.py +159 -0
- privacyidea/lib/tokens/__init__.py +0 -0
- privacyidea/lib/tokens/applicationspecificpasswordtoken.py +154 -0
- privacyidea/lib/tokens/certificatetoken.py +690 -0
- privacyidea/lib/tokens/daplugtoken.py +268 -0
- privacyidea/lib/tokens/daypasswordtoken.py +428 -0
- privacyidea/lib/tokens/emailtoken.py +602 -0
- privacyidea/lib/tokens/foureyestoken.py +512 -0
- privacyidea/lib/tokens/hotptoken.py +928 -0
- privacyidea/lib/tokens/indexedsecrettoken.py +382 -0
- privacyidea/lib/tokens/mOTP.py +154 -0
- privacyidea/lib/tokens/motptoken.py +262 -0
- privacyidea/lib/tokens/ocra.py +339 -0
- privacyidea/lib/tokens/ocratoken.py +296 -0
- privacyidea/lib/tokens/papertoken.py +146 -0
- privacyidea/lib/tokens/passkeytoken.py +481 -0
- privacyidea/lib/tokens/passwordtoken.py +208 -0
- privacyidea/lib/tokens/pushtoken.py +1231 -0
- privacyidea/lib/tokens/questionnairetoken.py +359 -0
- privacyidea/lib/tokens/radiustoken.py +547 -0
- privacyidea/lib/tokens/registrationtoken.py +177 -0
- privacyidea/lib/tokens/remotetoken.py +346 -0
- privacyidea/lib/tokens/smstoken.py +634 -0
- privacyidea/lib/tokens/spasstoken.py +159 -0
- privacyidea/lib/tokens/sshkeytoken.py +168 -0
- privacyidea/lib/tokens/tantoken.py +230 -0
- privacyidea/lib/tokens/tiqrtoken.py +487 -0
- privacyidea/lib/tokens/totptoken.py +695 -0
- privacyidea/lib/tokens/u2f.py +256 -0
- privacyidea/lib/tokens/u2ftoken.py +617 -0
- privacyidea/lib/tokens/vasco.py +183 -0
- privacyidea/lib/tokens/vascotoken.py +202 -0
- privacyidea/lib/tokens/webauthn.py +2052 -0
- privacyidea/lib/tokens/webauthntoken.py +1279 -0
- privacyidea/lib/tokens/yubicotoken.py +242 -0
- privacyidea/lib/tokens/yubikeytoken.py +491 -0
- privacyidea/lib/user.py +872 -0
- privacyidea/lib/usercache.py +243 -0
- privacyidea/lib/users/__init__.py +0 -0
- privacyidea/lib/users/custom_user_attributes.py +8 -0
- privacyidea/lib/utils/__init__.py +1491 -0
- privacyidea/lib/utils/compare.py +644 -0
- privacyidea/lib/utils/emailvalidation.py +38 -0
- privacyidea/lib/utils/export.py +106 -0
- privacyidea/migrations/README +1 -0
- privacyidea/migrations/alembic.ini +44 -0
- privacyidea/migrations/env.py +119 -0
- privacyidea/migrations/script.py.mako +24 -0
- privacyidea/migrations/versions/006d4747f858_.py +30 -0
- privacyidea/migrations/versions/00762b3f7a60_.py +79 -0
- privacyidea/migrations/versions/04c078e29924_.py +38 -0
- privacyidea/migrations/versions/0c7123345224_.py +37 -0
- privacyidea/migrations/versions/140ba0ca4f07_.py +19 -0
- privacyidea/migrations/versions/145ce80decd_.py +30 -0
- privacyidea/migrations/versions/14a1bcb10018_.py +28 -0
- privacyidea/migrations/versions/19f727d285e2_.py +34 -0
- privacyidea/migrations/versions/1a0710df148b_.py +26 -0
- privacyidea/migrations/versions/1a69e5e5e2ac_.py +48 -0
- privacyidea/migrations/versions/1c48d4ffb8c3_.py +32 -0
- privacyidea/migrations/versions/1edda52b619f_.py +31 -0
- privacyidea/migrations/versions/204d8d4f351e_.py +27 -0
- privacyidea/migrations/versions/205bda834127_.py +43 -0
- privacyidea/migrations/versions/20969b4cbf06_.py +46 -0
- privacyidea/migrations/versions/2100d1fad908_.py +31 -0
- privacyidea/migrations/versions/2118e566df16_.py +26 -0
- privacyidea/migrations/versions/2181294eed0b_.py +32 -0
- privacyidea/migrations/versions/22558d9f3178_.py +26 -0
- privacyidea/migrations/versions/239995464c48_.py +34 -0
- privacyidea/migrations/versions/250931d82e51_.py +35 -0
- privacyidea/migrations/versions/2551ee982544_.py +37 -0
- privacyidea/migrations/versions/2ac117d0a6f5_.py +43 -0
- privacyidea/migrations/versions/2c9430cfc66b_.py +60 -0
- privacyidea/migrations/versions/307a4fbe8a05_.py +36 -0
- privacyidea/migrations/versions/3236a1abf1c6_.py +28 -0
- privacyidea/migrations/versions/3429d523e51f_.py +41 -0
- privacyidea/migrations/versions/36428afb2457_.py +35 -0
- privacyidea/migrations/versions/37e6b49fc686_.py +60 -0
- privacyidea/migrations/versions/3ae3c668f444_.py +43 -0
- privacyidea/migrations/versions/3ba618f6b820_.py +44 -0
- privacyidea/migrations/versions/3c6e9dd7fbac_.py +48 -0
- privacyidea/migrations/versions/3d7f8b29cbb1_.py +101 -0
- privacyidea/migrations/versions/3f7e8583ea2_.py +38 -0
- privacyidea/migrations/versions/4023571658f8_.py +48 -0
- privacyidea/migrations/versions/41ad6c9ada8b_.py +138 -0
- privacyidea/migrations/versions/4238eac8ccab_.py +82 -0
- privacyidea/migrations/versions/449903fb6e35_.py +41 -0
- privacyidea/migrations/versions/48ee74b8a7c8_.py +193 -0
- privacyidea/migrations/versions/49a04e560d96_.py +34 -0
- privacyidea/migrations/versions/4a0aec37e7cf_.py +49 -0
- privacyidea/migrations/versions/4d9178fa8336_.py +34 -0
- privacyidea/migrations/versions/4f32a4e1bf33_.py +519 -0
- privacyidea/migrations/versions/50adc980d625_.py +52 -0
- privacyidea/migrations/versions/52c494a115a9_.py +37 -0
- privacyidea/migrations/versions/5402fd96fbca_.py +55 -0
- privacyidea/migrations/versions/5741e5dac477_.py +57 -0
- privacyidea/migrations/versions/58e4f7ebb705_.py +26 -0
- privacyidea/migrations/versions/59ef3e03bc62_.py +29 -0
- privacyidea/migrations/versions/5cb310101a1f_.py +83 -0
- privacyidea/migrations/versions/5f40baab76ca_.py +44 -0
- privacyidea/migrations/versions/631ec59e1ca6_.py +26 -0
- privacyidea/migrations/versions/69e7817b9863_.py +272 -0
- privacyidea/migrations/versions/7301d5130c3a_.py +52 -0
- privacyidea/migrations/versions/849170064430_.py +26 -0
- privacyidea/migrations/versions/86f40f535d7c_.py +34 -0
- privacyidea/migrations/versions/888b56ed5dcb_.py +40 -0
- privacyidea/migrations/versions/89e57ed16379_.py +49 -0
- privacyidea/migrations/versions/8d40dbcfda25_.py +35 -0
- privacyidea/migrations/versions/903a6ed6f6c4_.py +43 -0
- privacyidea/migrations/versions/9155f0d3d028_.py +100 -0
- privacyidea/migrations/versions/a28f2733897b_.py +48 -0
- privacyidea/migrations/versions/a63df077051a_.py +26 -0
- privacyidea/migrations/versions/a7e91b18a460_.py +69 -0
- privacyidea/migrations/versions/b9131d0686eb_.py +93 -0
- privacyidea/migrations/versions/c128c01a5520_.py +100 -0
- privacyidea/migrations/versions/cb6d7b7bae63_.py +28 -0
- privacyidea/migrations/versions/d0e7144947d0_.py +91 -0
- privacyidea/migrations/versions/d2ae8e54b628_.py +69 -0
- privacyidea/migrations/versions/d3c0f0403a84_.py +19 -0
- privacyidea/migrations/versions/d415d490eb05_.py +33 -0
- privacyidea/migrations/versions/d5870fd2f2a4_.py +19 -0
- privacyidea/migrations/versions/d6b40a745e5_.py +33 -0
- privacyidea/migrations/versions/d756b34061ff_.py +97 -0
- privacyidea/migrations/versions/db6b2ef8100f_.py +36 -0
- privacyidea/migrations/versions/dceb6cd3c41e_.py +55 -0
- privacyidea/migrations/versions/e360c56bcf8c_.py +88 -0
- privacyidea/migrations/versions/e3a64b4ca634_.py +46 -0
- privacyidea/migrations/versions/e5cbeb7c177_.py +33 -0
- privacyidea/migrations/versions/eac770c0bbed_.py +59 -0
- privacyidea/migrations/versions/ef29ba43e290_.py +40 -0
- privacyidea/migrations/versions/fa07bd604a75.py +83 -0
- privacyidea/migrations/versions/fabcf24d9304_.py +36 -0
- privacyidea/migrations/versions/ff26585932ec_.py +45 -0
- privacyidea/models/__init__.py +88 -0
- privacyidea/models/audit.py +132 -0
- privacyidea/models/cache.py +65 -0
- privacyidea/models/caconnector.py +116 -0
- privacyidea/models/challenge.py +175 -0
- privacyidea/models/config.py +209 -0
- privacyidea/models/customuserattribute.py +82 -0
- privacyidea/models/db.py +39 -0
- privacyidea/models/event.py +237 -0
- privacyidea/models/eventcounter.py +74 -0
- privacyidea/models/machine.py +259 -0
- privacyidea/models/monitoringstats.py +57 -0
- privacyidea/models/periodictask.py +262 -0
- privacyidea/models/policy.py +215 -0
- privacyidea/models/realm.py +131 -0
- privacyidea/models/resolver.py +120 -0
- privacyidea/models/server.py +202 -0
- privacyidea/models/serviceid.py +57 -0
- privacyidea/models/smsgateway.py +193 -0
- privacyidea/models/subscription.py +132 -0
- privacyidea/models/token.py +794 -0
- privacyidea/models/tokencontainer.py +249 -0
- privacyidea/models/tokengroup.py +130 -0
- privacyidea/models/utils.py +39 -0
- privacyidea/static/README.md +24 -0
- privacyidea/static/app.js +196 -0
- privacyidea/static/components/audit/controllers/auditControllers.js +135 -0
- privacyidea/static/components/audit/factories/audit.js +49 -0
- privacyidea/static/components/audit/states/states.js +45 -0
- privacyidea/static/components/audit/views/audit.html +30 -0
- privacyidea/static/components/audit/views/audit.log.html +225 -0
- privacyidea/static/components/components/controllers/componentControllers.js +103 -0
- privacyidea/static/components/components/factories/component.js +60 -0
- privacyidea/static/components/components/states/states.js +47 -0
- privacyidea/static/components/components/views/component.clienttype.html +29 -0
- privacyidea/static/components/components/views/component.html +38 -0
- privacyidea/static/components/components/views/component.subscriptions.html +79 -0
- privacyidea/static/components/config/controllers/configControllers.js +1648 -0
- privacyidea/static/components/config/controllers/eventController.js +335 -0
- privacyidea/static/components/config/controllers/ldapMachineResolverController.js +79 -0
- privacyidea/static/components/config/controllers/periodicTaskController.js +204 -0
- privacyidea/static/components/config/controllers/privacyideaServerController.js +109 -0
- privacyidea/static/components/config/controllers/radiusServerController.js +106 -0
- privacyidea/static/components/config/controllers/realmController.js +307 -0
- privacyidea/static/components/config/controllers/serviceidController.js +77 -0
- privacyidea/static/components/config/controllers/smsgatewayController.js +151 -0
- privacyidea/static/components/config/controllers/smtpServerController.js +116 -0
- privacyidea/static/components/config/controllers/tokengroupController.js +89 -0
- privacyidea/static/components/config/factories/config.js +1017 -0
- privacyidea/static/components/config/states/states.js +390 -0
- privacyidea/static/components/config/views/config.caconnectors.list.html +31 -0
- privacyidea/static/components/config/views/config.caconnectors.local.html +179 -0
- privacyidea/static/components/config/views/config.caconnectors.microsoft.html +171 -0
- privacyidea/static/components/config/views/config.events.details.html +315 -0
- privacyidea/static/components/config/views/config.events.html +27 -0
- privacyidea/static/components/config/views/config.events.list.html +91 -0
- privacyidea/static/components/config/views/config.html +86 -0
- privacyidea/static/components/config/views/config.machineresolvers.html +42 -0
- privacyidea/static/components/config/views/config.mresolvers.hosts.html +48 -0
- privacyidea/static/components/config/views/config.mresolvers.ldap.html +216 -0
- privacyidea/static/components/config/views/config.mresolvers.list.html +33 -0
- privacyidea/static/components/config/views/config.periodictasks.details.html +199 -0
- privacyidea/static/components/config/views/config.periodictasks.html +21 -0
- privacyidea/static/components/config/views/config.periodictasks.list.html +62 -0
- privacyidea/static/components/config/views/config.policies.details.html +527 -0
- privacyidea/static/components/config/views/config.policies.html +26 -0
- privacyidea/static/components/config/views/config.policies.list.html +86 -0
- privacyidea/static/components/config/views/config.privacyideaserver.edit.html +97 -0
- privacyidea/static/components/config/views/config.privacyideaserver.list.html +39 -0
- privacyidea/static/components/config/views/config.radius.edit.html +137 -0
- privacyidea/static/components/config/views/config.radius.list.html +41 -0
- privacyidea/static/components/config/views/config.realms.create.html +101 -0
- privacyidea/static/components/config/views/config.realms.html +37 -0
- privacyidea/static/components/config/views/config.realms.list.html +158 -0
- privacyidea/static/components/config/views/config.resolvers.html +47 -0
- privacyidea/static/components/config/views/config.resolvers.http.advanced.html +344 -0
- privacyidea/static/components/config/views/config.resolvers.http.basic.html +85 -0
- privacyidea/static/components/config/views/config.resolvers.http.html +81 -0
- privacyidea/static/components/config/views/config.resolvers.ldap.html +433 -0
- privacyidea/static/components/config/views/config.resolvers.list.html +33 -0
- privacyidea/static/components/config/views/config.resolvers.passwd.html +49 -0
- privacyidea/static/components/config/views/config.resolvers.scim.html +97 -0
- privacyidea/static/components/config/views/config.resolvers.sql.html +261 -0
- privacyidea/static/components/config/views/config.serviceid.edit.html +47 -0
- privacyidea/static/components/config/views/config.serviceid.list.html +41 -0
- privacyidea/static/components/config/views/config.smsgateway.edit.html +173 -0
- privacyidea/static/components/config/views/config.smsgateway.list.html +34 -0
- privacyidea/static/components/config/views/config.smtp.edit.html +154 -0
- privacyidea/static/components/config/views/config.smtp.list.html +46 -0
- privacyidea/static/components/config/views/config.system.doc.html +9 -0
- privacyidea/static/components/config/views/config.system.edit.html +248 -0
- privacyidea/static/components/config/views/config.system.html +236 -0
- privacyidea/static/components/config/views/config.token.daypassword.html +27 -0
- privacyidea/static/components/config/views/config.token.email.html +28 -0
- privacyidea/static/components/config/views/config.token.hotp.html +19 -0
- privacyidea/static/components/config/views/config.token.question.html +66 -0
- privacyidea/static/components/config/views/config.token.radius.html +20 -0
- privacyidea/static/components/config/views/config.token.remote.html +23 -0
- privacyidea/static/components/config/views/config.token.sms.html +55 -0
- privacyidea/static/components/config/views/config.token.tiqr.html +91 -0
- privacyidea/static/components/config/views/config.token.totp.html +46 -0
- privacyidea/static/components/config/views/config.token.u2f.html +31 -0
- privacyidea/static/components/config/views/config.token.webauthn.html +42 -0
- privacyidea/static/components/config/views/config.token.yubico.html +42 -0
- privacyidea/static/components/config/views/config.token.yubikey.html +62 -0
- privacyidea/static/components/config/views/config.tokengroup.edit.html +47 -0
- privacyidea/static/components/config/views/config.tokengroup.list.html +37 -0
- privacyidea/static/components/config/views/config.tokens.html +92 -0
- privacyidea/static/components/config/views/dialog.confirm_delete.html +34 -0
- privacyidea/static/components/dashboard/controllers/dashboardControllers.js +213 -0
- privacyidea/static/components/dashboard/states/states.js +36 -0
- privacyidea/static/components/dashboard/views/dashboard.html +213 -0
- privacyidea/static/components/dialogs/views/dialog.about.html +53 -0
- privacyidea/static/components/dialogs/views/dialog.autocreate_realm.html +32 -0
- privacyidea/static/components/dialogs/views/dialog.lock.html +42 -0
- privacyidea/static/components/dialogs/views/dialog.no.token.html +40 -0
- privacyidea/static/components/dialogs/views/dialog.welcome.html +171 -0
- privacyidea/static/components/directives/controllers/directives.js +1015 -0
- privacyidea/static/components/directives/views/directive.assigntoken.html +40 -0
- privacyidea/static/components/directives/views/directive.assignuser.html +52 -0
- privacyidea/static/components/directives/views/directive.attachmachine.html +20 -0
- privacyidea/static/components/directives/views/directive.attachtoken.html +20 -0
- privacyidea/static/components/directives/views/directive.containerTemplateDiff.html +49 -0
- privacyidea/static/components/directives/views/directive.containertemplate.details.html +93 -0
- privacyidea/static/components/directives/views/directive.csvdownload.html +10 -0
- privacyidea/static/components/directives/views/directive.filter.table.html +5 -0
- privacyidea/static/components/directives/views/directive.httpResolverEndpointConfig.html +84 -0
- privacyidea/static/components/directives/views/directive.otpList.html +80 -0
- privacyidea/static/components/directives/views/directive.policyconditions.html +94 -0
- privacyidea/static/components/directives/views/directive.registerContainer.html +84 -0
- privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html +67 -0
- privacyidea/static/components/directives/views/directive.selectresolver.html +19 -0
- privacyidea/static/components/directives/views/directive.tokendata.html +36 -0
- privacyidea/static/components/directives/views/directive.verifyEnrolledToken.html +33 -0
- privacyidea/static/components/filters/filters.js +35 -0
- privacyidea/static/components/info/controllers/infoController.js +41 -0
- privacyidea/static/components/info/factories/info.js +38 -0
- privacyidea/static/components/info/states/states.js +40 -0
- privacyidea/static/components/info/views/info.rss.html +45 -0
- privacyidea/static/components/login/controllers/loginControllers.js +733 -0
- privacyidea/static/components/login/factories/auth.js +149 -0
- privacyidea/static/components/login/factories/u2f.js +109 -0
- privacyidea/static/components/login/factories/webauthn.js +116 -0
- privacyidea/static/components/login/states/states.js +52 -0
- privacyidea/static/components/login/views/enter-response.html +34 -0
- privacyidea/static/components/login/views/login.html +100 -0
- privacyidea/static/components/login/views/offline.html +4 -0
- privacyidea/static/components/login/views/pinchange.html +31 -0
- privacyidea/static/components/machine/controllers/machineController.js +85 -0
- privacyidea/static/components/machine/controllers/machineDetailsController.js +113 -0
- privacyidea/static/components/machine/factories/machine.js +70 -0
- privacyidea/static/components/machine/states/states.js +48 -0
- privacyidea/static/components/machine/views/machine.details.html +166 -0
- privacyidea/static/components/machine/views/machine.html +32 -0
- privacyidea/static/components/machine/views/machine.list.html +44 -0
- privacyidea/static/components/recovery/controllers/recoveryControllers.js +39 -0
- privacyidea/static/components/recovery/factories/recoveryFactory.js +21 -0
- privacyidea/static/components/recovery/states/states.js +42 -0
- privacyidea/static/components/recovery/views/recovery.html +47 -0
- privacyidea/static/components/recovery/views/recovery.reset.html +31 -0
- privacyidea/static/components/register/controllers/registerControllers.js +21 -0
- privacyidea/static/components/register/factories/registerFactory.js +19 -0
- privacyidea/static/components/register/states/states.js +37 -0
- privacyidea/static/components/register/views/register.html +97 -0
- privacyidea/static/components/token/controllers/containerControllers.js +1057 -0
- privacyidea/static/components/token/controllers/containerTemplateControllers.js +312 -0
- privacyidea/static/components/token/controllers/tokenApplicationsController.js +76 -0
- privacyidea/static/components/token/controllers/tokenChallengesController.js +76 -0
- privacyidea/static/components/token/controllers/tokenControllers.js +872 -0
- privacyidea/static/components/token/controllers/tokenDetailController.js +583 -0
- privacyidea/static/components/token/controllers/tokenGetSerialController.js +48 -0
- privacyidea/static/components/token/controllers/tokenLostController.js +14 -0
- privacyidea/static/components/token/factories/container.js +248 -0
- privacyidea/static/components/token/factories/token.js +405 -0
- privacyidea/static/components/token/factories/validate.js +35 -0
- privacyidea/static/components/token/states/states.js +133 -0
- privacyidea/static/components/token/views/dialog.ask_token_delete.html +37 -0
- privacyidea/static/components/token/views/token.applications.html +14 -0
- privacyidea/static/components/token/views/token.applications.offline.html +68 -0
- privacyidea/static/components/token/views/token.applications.ssh.html +71 -0
- privacyidea/static/components/token/views/token.assign.html +17 -0
- privacyidea/static/components/token/views/token.challenges.html +83 -0
- privacyidea/static/components/token/views/token.containercreate.html +253 -0
- privacyidea/static/components/token/views/token.containerdetails.html +768 -0
- privacyidea/static/components/token/views/token.containerlist.html +167 -0
- privacyidea/static/components/token/views/token.containertemplates.create.html +69 -0
- privacyidea/static/components/token/views/token.containertemplates.edit.html +147 -0
- privacyidea/static/components/token/views/token.containertemplates.list.html +76 -0
- privacyidea/static/components/token/views/token.details.html +794 -0
- privacyidea/static/components/token/views/token.display.apps.html +9 -0
- privacyidea/static/components/token/views/token.enroll.4eyes.html +48 -0
- privacyidea/static/components/token/views/token.enroll.applspec.html +39 -0
- privacyidea/static/components/token/views/token.enroll.certificate.html +81 -0
- privacyidea/static/components/token/views/token.enroll.daypassword.html +70 -0
- privacyidea/static/components/token/views/token.enroll.email.html +25 -0
- privacyidea/static/components/token/views/token.enroll.hotp.html +71 -0
- privacyidea/static/components/token/views/token.enroll.html +237 -0
- privacyidea/static/components/token/views/token.enroll.indexedsecret.html +20 -0
- privacyidea/static/components/token/views/token.enroll.motp.html +46 -0
- privacyidea/static/components/token/views/token.enroll.paper.html +5 -0
- privacyidea/static/components/token/views/token.enroll.push.html +12 -0
- privacyidea/static/components/token/views/token.enroll.question.html +17 -0
- privacyidea/static/components/token/views/token.enroll.radius.html +53 -0
- privacyidea/static/components/token/views/token.enroll.registration.html +9 -0
- privacyidea/static/components/token/views/token.enroll.remote.html +54 -0
- privacyidea/static/components/token/views/token.enroll.sms.html +45 -0
- privacyidea/static/components/token/views/token.enroll.spass.html +4 -0
- privacyidea/static/components/token/views/token.enroll.sshkey.html +17 -0
- privacyidea/static/components/token/views/token.enroll.tan.html +5 -0
- privacyidea/static/components/token/views/token.enroll.tiqr.html +10 -0
- privacyidea/static/components/token/views/token.enroll.totp.html +80 -0
- privacyidea/static/components/token/views/token.enroll.u2f.html +5 -0
- privacyidea/static/components/token/views/token.enroll.vasco.html +31 -0
- privacyidea/static/components/token/views/token.enroll.webauthn.html +5 -0
- privacyidea/static/components/token/views/token.enroll.yubico.html +22 -0
- privacyidea/static/components/token/views/token.enroll.yubikey.html +47 -0
- privacyidea/static/components/token/views/token.enrolled.applspec.html +11 -0
- privacyidea/static/components/token/views/token.enrolled.certificate.html +57 -0
- privacyidea/static/components/token/views/token.enrolled.daypassword.html +61 -0
- privacyidea/static/components/token/views/token.enrolled.hotp.html +60 -0
- privacyidea/static/components/token/views/token.enrolled.motp.html +27 -0
- privacyidea/static/components/token/views/token.enrolled.paper.html +65 -0
- privacyidea/static/components/token/views/token.enrolled.push.html +26 -0
- privacyidea/static/components/token/views/token.enrolled.registration.html +18 -0
- privacyidea/static/components/token/views/token.enrolled.tan.html +65 -0
- privacyidea/static/components/token/views/token.enrolled.tiqr.html +27 -0
- privacyidea/static/components/token/views/token.enrolled.totp.html +61 -0
- privacyidea/static/components/token/views/token.enrolled.u2f.html +40 -0
- privacyidea/static/components/token/views/token.enrolled.webauthn.html +38 -0
- privacyidea/static/components/token/views/token.getserial.html +113 -0
- privacyidea/static/components/token/views/token.html +275 -0
- privacyidea/static/components/token/views/token.import.html +147 -0
- privacyidea/static/components/token/views/token.list.html +167 -0
- privacyidea/static/components/token/views/token.lost.html +56 -0
- privacyidea/static/components/translation/translations.js +24 -0
- privacyidea/static/components/user/controllers/userControllers.js +582 -0
- privacyidea/static/components/user/factories/user.js +107 -0
- privacyidea/static/components/user/states/states.js +59 -0
- privacyidea/static/components/user/views/dialog.ask_user_delete.html +33 -0
- privacyidea/static/components/user/views/user.add.dynamic.form.fields.html +44 -0
- privacyidea/static/components/user/views/user.add.html +64 -0
- privacyidea/static/components/user/views/user.details.html +371 -0
- privacyidea/static/components/user/views/user.html +82 -0
- privacyidea/static/components/user/views/user.list.html +63 -0
- privacyidea/static/components/user/views/user.password.html +75 -0
- privacyidea/static/contrib/css/angular-inform.css +184 -0
- privacyidea/static/contrib/css/angular-inform.css.map +1 -0
- privacyidea/static/contrib/css/bootstrap-theme.css +613 -0
- privacyidea/static/contrib/css/bootstrap-theme.css.map +1 -0
- privacyidea/static/contrib/css/bootstrap.css +6834 -0
- privacyidea/static/contrib/css/bootstrap.css.map +1 -0
- privacyidea/static/contrib/css/hotkeys.css +110 -0
- privacyidea/static/contrib/css/isteven-multi-select.css +299 -0
- privacyidea/static/contrib/fonts/glyphicons-halflings-regular.eot +0 -0
- privacyidea/static/contrib/fonts/glyphicons-halflings-regular.svg +288 -0
- privacyidea/static/contrib/fonts/glyphicons-halflings-regular.ttf +0 -0
- privacyidea/static/contrib/fonts/glyphicons-halflings-regular.woff +0 -0
- privacyidea/static/contrib/fonts/glyphicons-halflings-regular.woff2 +0 -0
- privacyidea/static/contrib/js/angular-inform.js +194 -0
- privacyidea/static/contrib/js/angular-inform.js.map +1 -0
- privacyidea/static/contrib/js/angular.js +36600 -0
- privacyidea/static/contrib/js/bootstrap.js +2580 -0
- privacyidea/static/contrib/js/hotkeys.js +1661 -0
- privacyidea/static/contrib/js/jquery.js +10716 -0
- privacyidea/static/contrib/js/ngmodules/angular-gettext.js +837 -0
- privacyidea/static/contrib/js/ngmodules/angular-idle.js +534 -0
- privacyidea/static/contrib/js/ngmodules/angular-sanitize.js +891 -0
- privacyidea/static/contrib/js/ngmodules/angular-ui-router.js +10540 -0
- privacyidea/static/contrib/js/ngmodules/angular-ui-router.js.map +176 -0
- privacyidea/static/contrib/js/ngmodules/isteven-multi-select.js +1111 -0
- privacyidea/static/contrib/js/ngmodules/ng-file-upload.js +2476 -0
- privacyidea/static/contrib/js/u2f-api.js +748 -0
- privacyidea/static/contrib/js/ui-bootstrap-tpls.js +7803 -0
- privacyidea/static/contrib/js/webauthn-client/pi-webauthn.js +510 -0
- privacyidea/static/css/baseline.css +21 -0
- privacyidea/static/css/content.css +97 -0
- privacyidea/static/css/generic.css +80 -0
- privacyidea/static/css/highlight.css +4 -0
- privacyidea/static/css/menu.css +40 -0
- privacyidea/static/css/papertoken.css +47 -0
- privacyidea/static/css/privacyIDEA1.png +0 -0
- privacyidea/static/css/signin.css +60 -0
- privacyidea/static/css/table-ui.css +1 -0
- privacyidea/static/customize/README.rst +69 -0
- privacyidea/static/favicon.png +0 -0
- privacyidea/static/img/FIDO-U2F-Security-Key-444x444.png +0 -0
- privacyidea/static/img/plugup.jpg +0 -0
- privacyidea/static/img/solokeys.png +0 -0
- privacyidea/static/img/u2fzero.png +0 -0
- privacyidea/static/package-lock.json +125 -0
- privacyidea/static/package.json +33 -0
- privacyidea/static/providers/errorMessageProvider.js +134 -0
- privacyidea/static/providers/versioningProvider.js +58 -0
- privacyidea/static/templates/baseline.html +35 -0
- privacyidea/static/templates/cert_request_form.html +55 -0
- privacyidea/static/templates/deactivated.html +3 -0
- privacyidea/static/templates/documentation.rst +129 -0
- privacyidea/static/templates/footer.html +94 -0
- privacyidea/static/templates/header.html +32 -0
- privacyidea/static/templates/index.html +32 -0
- privacyidea/static/templates/menu.html +181 -0
- privacyidea/static/templates/token_enrolled.html +64 -0
- privacyidea/static/update_contrib.sh +66 -0
- privacyidea/static_new/dist/privacyidea-webui/3rdpartylicenses.txt +502 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/assets/favicon.ico +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/assets/full-logo-white-background.jpg +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/assets/logo-text.png +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/assets/privacyIDEA1.png +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-2FFDSNP4.js +7 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-4E5QNZ6N.js +18 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-AUEZCLX7.js +4 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-BINJ3RKZ.js +15 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-BNBWK7QQ.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-CLJG5YCY.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-DNZJ3H2E.js +18 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-FJW7MZ6A.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-HC5VYDCA.js +7 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-QCZZ7VQS.js +2 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-SQXNSHQJ.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-TVV4NZM5.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-UHJGDJVN.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/chunk-VZAYO6X6.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.post.bottom.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.post.top.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.pre.bottom.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.pre.top.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.post.bottom.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.post.top.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.pre.bottom.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.pre.top.html +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/index.html +42 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/main-ZHT7JUM6.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/Roboto-Bold-74TWGET6.ttf +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/Roboto-VariableFont_wdth,wght-TQJTUEE4.ttf +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-JLIDJUWE.woff +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-LEZCGFVT.woff2 +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-outlined-7BWLPMFK.woff2 +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-outlined-PCUTWIDZ.woff +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-round-SLOHZIXU.woff +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-round-WEHMTW23.woff2 +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-sharp-HCCYMPXE.woff2 +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-sharp-U4OLFP3G.woff +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-two-tone-LCGWGE2N.woff +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-two-tone-M5N5K6F5.woff2 +0 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/polyfills-3UM2TDSF.js +1 -0
- privacyidea/static_new/dist/privacyidea-webui/browser/styles-EMLPHHHL.css +1 -0
- privacyidea/static_new/dist/privacyidea-webui/prerendered-routes.json +3 -0
- privacyidea/webui/__init__.py +1 -0
- privacyidea/webui/certificate.py +112 -0
- privacyidea/webui/login.py +205 -0
- privacyidea-3.12.data/data/lib/privacyidea/requirements.txt +1042 -0
- privacyidea-3.12.data/scripts/creategoogleauthenticator-file +38 -0
- privacyidea-3.12.data/scripts/getgooglecodes +46 -0
- privacyidea-3.12.data/scripts/privacyidea-authorizedkeys +63 -0
- privacyidea-3.12.data/scripts/privacyidea-convert-base32.py +53 -0
- privacyidea-3.12.data/scripts/privacyidea-convert-token +132 -0
- privacyidea-3.12.data/scripts/privacyidea-convert-xml-to-csv +150 -0
- privacyidea-3.12.data/scripts/privacyidea-create-ad-users +98 -0
- privacyidea-3.12.data/scripts/privacyidea-create-certificate +83 -0
- privacyidea-3.12.data/scripts/privacyidea-create-pwidresolver-user +83 -0
- privacyidea-3.12.data/scripts/privacyidea-create-userdb +32 -0
- privacyidea-3.12.data/scripts/privacyidea-diag +286 -0
- privacyidea-3.12.data/scripts/privacyidea-export-linotp-counter.py +110 -0
- privacyidea-3.12.data/scripts/privacyidea-export-privacyidea-counter.py +53 -0
- privacyidea-3.12.data/scripts/privacyidea-fetchssh +87 -0
- privacyidea-3.12.data/scripts/privacyidea-fix-access-rights +88 -0
- privacyidea-3.12.data/scripts/privacyidea-migrate-linotp.py +588 -0
- privacyidea-3.12.data/scripts/privacyidea-pip-update +86 -0
- privacyidea-3.12.data/scripts/privacyidea-queue-huey +155 -0
- privacyidea-3.12.data/scripts/privacyidea-schema-upgrade +64 -0
- privacyidea-3.12.data/scripts/privacyidea-sync-owncloud.py +216 -0
- privacyidea-3.12.data/scripts/privacyidea-update-counter.py +105 -0
- privacyidea-3.12.data/scripts/privacyidea-update-linotp-counter.py +137 -0
- privacyidea-3.12.data/scripts/privacyidea-user-action +139 -0
- privacyidea-3.12.data/scripts/reset-privacyidea +86 -0
- privacyidea-3.12.data/scripts/ssha.py +31 -0
- privacyidea-3.12.dist-info/METADATA +300 -0
- privacyidea-3.12.dist-info/RECORD +716 -0
- privacyidea-3.12.dist-info/WHEEL +5 -0
- privacyidea-3.12.dist-info/entry_points.txt +10 -0
- privacyidea-3.12.dist-info/licenses/LICENSE +620 -0
- privacyidea-3.12.dist-info/top_level.txt +1 -0
privacyidea/__init__.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
__doc__ = """
|
|
2
|
+
These are the base functions of privacyIDEA app.
|
|
3
|
+
|
|
4
|
+
app.py
|
|
5
|
+
======
|
|
6
|
+
|
|
7
|
+
contains the constructor of the app. Call
|
|
8
|
+
|
|
9
|
+
create_app(config_name, config_file)
|
|
10
|
+
|
|
11
|
+
to create a new app instance.
|
|
12
|
+
|
|
13
|
+
config.py
|
|
14
|
+
=========
|
|
15
|
+
contains configuration objects for development, testing and production.
|
|
16
|
+
These configuration probably will not be enough for you, this is why you will
|
|
17
|
+
need to add configuration in a config file. You pass the config file to the
|
|
18
|
+
create_app() call.
|
|
19
|
+
|
|
20
|
+
models.py
|
|
21
|
+
=========
|
|
22
|
+
contains the database models of privacyidea.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
Directory structure
|
|
26
|
+
===================
|
|
27
|
+
The directory /lib/ contains all library functions. These functions are
|
|
28
|
+
independent on any request objects and flask components.
|
|
29
|
+
|
|
30
|
+
The /api/ directory contains the flasked based REST API of privacyidea.
|
|
31
|
+
|
|
32
|
+
The /static/ and /webui/ directories contain all components that are needed
|
|
33
|
+
for the WebUI which is implemented as a single page application using angularJS.
|
|
34
|
+
"""
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This is the REST API for privacyidea. It lets you create the system
|
|
3
|
+
configuration, which is denoted in the system endpoints.
|
|
4
|
+
|
|
5
|
+
Special system configuration is the configuration of
|
|
6
|
+
|
|
7
|
+
* the resolvers
|
|
8
|
+
* the realms
|
|
9
|
+
* the defaultrealm
|
|
10
|
+
* the policies.
|
|
11
|
+
|
|
12
|
+
Resolvers are dynamic links to existing user sources. You can find users in
|
|
13
|
+
LDAP directories, SQL databases, flat files or SCIM services.
|
|
14
|
+
A resolver translates a loginname to a user object in the user source and
|
|
15
|
+
back again. It is also responsible for fetching all additional needed
|
|
16
|
+
information from the user source.
|
|
17
|
+
|
|
18
|
+
Realms are collections of resolvers that can be managed by administrators and
|
|
19
|
+
where policies can be applied.
|
|
20
|
+
|
|
21
|
+
Defaultrealm is a special endpoint to define the default realm. The default
|
|
22
|
+
realm is used if no user realm is specified. If a user from realm1 tries to
|
|
23
|
+
authenticate or is addressed, the notation user@realm1 is used.
|
|
24
|
+
If the @realm1 is omitted, the user is searched in the default realm.
|
|
25
|
+
|
|
26
|
+
Policies are rules how privacyidea behaves and which user and administrator
|
|
27
|
+
is allowed to do what.
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# http://www.privacyidea.org
|
|
2
|
+
# (c) Cornelius Kölbel, privacyidea.org
|
|
3
|
+
#
|
|
4
|
+
# 2015-02-26 Cornelius Kölbel, <cornelius@privacyidea.org>
|
|
5
|
+
# Initial writeup
|
|
6
|
+
#
|
|
7
|
+
# This code is free software; you can redistribute it and/or
|
|
8
|
+
# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
9
|
+
# License as published by the Free Software Foundation; either
|
|
10
|
+
# version 3 of the License, or any later version.
|
|
11
|
+
#
|
|
12
|
+
# This code is distributed in the hope that it will be useful,
|
|
13
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
16
|
+
#
|
|
17
|
+
# You should have received a copy of the GNU Affero General Public
|
|
18
|
+
# License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
19
|
+
#
|
|
20
|
+
"""
|
|
21
|
+
This endpoint is used to get the information from the server,
|
|
22
|
+
which application types are known and which options these applications provide.
|
|
23
|
+
|
|
24
|
+
Applications are used to attach tokens to machines.
|
|
25
|
+
|
|
26
|
+
The code of this module is tested in tests/test_api_applications.py
|
|
27
|
+
"""
|
|
28
|
+
from flask import (Blueprint)
|
|
29
|
+
from .lib.utils import (send_result)
|
|
30
|
+
from ..lib.log import log_with
|
|
31
|
+
from flask import g
|
|
32
|
+
import logging
|
|
33
|
+
from privacyidea.lib.applications import get_application_types
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
log = logging.getLogger(__name__)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
application_blueprint = Blueprint('application_blueprint', __name__)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@application_blueprint.route('/', methods=['GET'])
|
|
43
|
+
@log_with(log)
|
|
44
|
+
def get_applications():
|
|
45
|
+
"""
|
|
46
|
+
returns a json dict of the available applications
|
|
47
|
+
|
|
48
|
+
**Example request**:
|
|
49
|
+
|
|
50
|
+
.. sourcecode:: http
|
|
51
|
+
|
|
52
|
+
GET /application HTTP/1.1
|
|
53
|
+
Host: example.com
|
|
54
|
+
Accept: application/json
|
|
55
|
+
|
|
56
|
+
**Example response**:
|
|
57
|
+
|
|
58
|
+
.. sourcecode:: http
|
|
59
|
+
|
|
60
|
+
HTTP/1.1 200 OK
|
|
61
|
+
Content-Type: application/json
|
|
62
|
+
|
|
63
|
+
{
|
|
64
|
+
"luks": {
|
|
65
|
+
"options": {
|
|
66
|
+
"slot": {
|
|
67
|
+
"type": "int"
|
|
68
|
+
},
|
|
69
|
+
"partition": {
|
|
70
|
+
"type": "str"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"ssh": {
|
|
75
|
+
"options": {
|
|
76
|
+
"user": {
|
|
77
|
+
"type": "str"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"otherapplication": {
|
|
82
|
+
"options": {
|
|
83
|
+
"optionA": {
|
|
84
|
+
"type": "int",
|
|
85
|
+
"required": true
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
"""
|
|
91
|
+
res = get_application_types()
|
|
92
|
+
g.audit_object.log({"success": True})
|
|
93
|
+
return send_result(res)
|
privacyidea/api/audit.py
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# http://www.privacyidea.org
|
|
2
|
+
# (c) cornelius kölbel, privacyidea.org
|
|
3
|
+
#
|
|
4
|
+
# 2018-11-21 Cornelius Kölbel <cornelius.koelbel@netknights.it>
|
|
5
|
+
# Remove the audit log based statistics
|
|
6
|
+
# 2016-12-20 Cornelius Kölbel <cornelius.koelbel@netknights.it>
|
|
7
|
+
# Restrict download to certain time
|
|
8
|
+
# 2015-07-16 Cornelius Kölbel, <cornelius.koelbel@netknights.it>
|
|
9
|
+
# Add statistics endpoint
|
|
10
|
+
# 2015-01-20 Cornelius Kölbel, <cornelius@privacyidea.org>
|
|
11
|
+
# Complete rewrite during flask migration
|
|
12
|
+
# Try to provide REST API
|
|
13
|
+
#
|
|
14
|
+
# This code is free software; you can redistribute it and/or
|
|
15
|
+
# modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
16
|
+
# License as published by the Free Software Foundation; either
|
|
17
|
+
# version 3 of the License, or any later version.
|
|
18
|
+
#
|
|
19
|
+
# This code is distributed in the hope that it will be useful,
|
|
20
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
# GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
23
|
+
#
|
|
24
|
+
# You should have received a copy of the GNU Affero General Public
|
|
25
|
+
# License along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
26
|
+
#
|
|
27
|
+
"""This is the audit REST API that can be used to search the audit log.
|
|
28
|
+
It only provides the method
|
|
29
|
+
|
|
30
|
+
GET /audit
|
|
31
|
+
"""
|
|
32
|
+
from flask import (Blueprint, request, current_app, stream_with_context)
|
|
33
|
+
from .lib.utils import (send_result, send_file)
|
|
34
|
+
from ..api.lib.prepolicy import (prepolicy, check_base_action, auditlog_age,
|
|
35
|
+
allowed_audit_realm, hide_audit_columns)
|
|
36
|
+
from ..api.auth import admin_required
|
|
37
|
+
from ..lib.policies.actions import PolicyAction
|
|
38
|
+
from flask import g
|
|
39
|
+
import logging
|
|
40
|
+
from ..lib.audit import search, getAudit
|
|
41
|
+
from privacyidea.lib.utils import parse_timedelta
|
|
42
|
+
|
|
43
|
+
log = logging.getLogger(__name__)
|
|
44
|
+
|
|
45
|
+
audit_blueprint = Blueprint('audit_blueprint', __name__)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
@audit_blueprint.route('/', methods=['GET'])
|
|
49
|
+
@prepolicy(check_base_action, request, PolicyAction.AUDIT)
|
|
50
|
+
@prepolicy(allowed_audit_realm, request, PolicyAction.AUDIT)
|
|
51
|
+
@prepolicy(auditlog_age, request)
|
|
52
|
+
@prepolicy(hide_audit_columns, request)
|
|
53
|
+
def search_audit():
|
|
54
|
+
"""
|
|
55
|
+
return a paginated list of audit entries.
|
|
56
|
+
|
|
57
|
+
Params can be passed as key-value-pairs.
|
|
58
|
+
|
|
59
|
+
:httpparam timelimit: A timelimit, that limits the recent audit entries.
|
|
60
|
+
This param gets overwritten by a policy auditlog_age. Can be 1d, 1m, 1h.
|
|
61
|
+
|
|
62
|
+
**Example request**:
|
|
63
|
+
|
|
64
|
+
.. sourcecode:: http
|
|
65
|
+
|
|
66
|
+
GET /audit?realm=realm1 HTTP/1.1
|
|
67
|
+
Host: example.com
|
|
68
|
+
Accept: application/json
|
|
69
|
+
|
|
70
|
+
**Example response**:
|
|
71
|
+
|
|
72
|
+
.. sourcecode:: http
|
|
73
|
+
|
|
74
|
+
HTTP/1.1 200 OK
|
|
75
|
+
Content-Type: application/json
|
|
76
|
+
|
|
77
|
+
{
|
|
78
|
+
"id": 1,
|
|
79
|
+
"jsonrpc": "2.0",
|
|
80
|
+
"result": {
|
|
81
|
+
"status": true,
|
|
82
|
+
"value": [
|
|
83
|
+
{
|
|
84
|
+
"serial": "....",
|
|
85
|
+
"missing_line": "..."
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"version": "privacyIDEA unknown"
|
|
90
|
+
}
|
|
91
|
+
"""
|
|
92
|
+
audit_dict = search(current_app.config, request.all_data)
|
|
93
|
+
g.audit_object.log({'success': True})
|
|
94
|
+
|
|
95
|
+
return send_result(audit_dict)
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
@audit_blueprint.route('/<csvfile>', methods=['GET'])
|
|
99
|
+
@prepolicy(check_base_action, request, PolicyAction.AUDIT_DOWNLOAD)
|
|
100
|
+
@prepolicy(auditlog_age, request)
|
|
101
|
+
@admin_required
|
|
102
|
+
def download_csv(csvfile=None):
|
|
103
|
+
"""
|
|
104
|
+
Download the audit entry as CSV file.
|
|
105
|
+
|
|
106
|
+
Params can be passed as key-value-pairs.
|
|
107
|
+
|
|
108
|
+
**Example request**:
|
|
109
|
+
|
|
110
|
+
.. sourcecode:: http
|
|
111
|
+
|
|
112
|
+
GET /audit/audit.csv?realm=realm1 HTTP/1.1
|
|
113
|
+
Host: example.com
|
|
114
|
+
Accept: text/csv
|
|
115
|
+
|
|
116
|
+
**Example response**:
|
|
117
|
+
|
|
118
|
+
.. sourcecode:: http
|
|
119
|
+
|
|
120
|
+
HTTP/1.1 200 OK
|
|
121
|
+
Content-Type: text/csv
|
|
122
|
+
|
|
123
|
+
{
|
|
124
|
+
"id": 1,
|
|
125
|
+
"jsonrpc": "2.0",
|
|
126
|
+
"result": {
|
|
127
|
+
"status": true,
|
|
128
|
+
"value": [
|
|
129
|
+
{
|
|
130
|
+
"serial": "....",
|
|
131
|
+
"missing_line": "..."
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"version": "privacyIDEA unknown"
|
|
136
|
+
}
|
|
137
|
+
"""
|
|
138
|
+
audit = getAudit(current_app.config)
|
|
139
|
+
g.audit_object.log({'success': True})
|
|
140
|
+
param = request.all_data
|
|
141
|
+
if "timelimit" in param:
|
|
142
|
+
timelimit = parse_timedelta(param["timelimit"])
|
|
143
|
+
del param["timelimit"]
|
|
144
|
+
else:
|
|
145
|
+
timelimit = None
|
|
146
|
+
return send_file(stream_with_context(audit.csv_generator(param=param,
|
|
147
|
+
timelimit=timelimit)),
|
|
148
|
+
csvfile)
|