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.
Files changed (716) hide show
  1. privacyidea/__init__.py +34 -0
  2. privacyidea/api/__init__.py +30 -0
  3. privacyidea/api/application.py +93 -0
  4. privacyidea/api/audit.py +148 -0
  5. privacyidea/api/auth.py +542 -0
  6. privacyidea/api/before_after.py +655 -0
  7. privacyidea/api/caconnector.py +98 -0
  8. privacyidea/api/clienttype.py +74 -0
  9. privacyidea/api/container.py +1230 -0
  10. privacyidea/api/event.py +220 -0
  11. privacyidea/api/healthcheck.py +262 -0
  12. privacyidea/api/info.py +69 -0
  13. privacyidea/api/lib/__init__.py +0 -0
  14. privacyidea/api/lib/decorators.py +46 -0
  15. privacyidea/api/lib/policyhelper.py +404 -0
  16. privacyidea/api/lib/postpolicy.py +1236 -0
  17. privacyidea/api/lib/prepolicy.py +2887 -0
  18. privacyidea/api/lib/utils.py +524 -0
  19. privacyidea/api/machine.py +407 -0
  20. privacyidea/api/machineresolver.py +144 -0
  21. privacyidea/api/monitoring.py +111 -0
  22. privacyidea/api/periodictask.py +211 -0
  23. privacyidea/api/policy.py +596 -0
  24. privacyidea/api/privacyideaserver.py +124 -0
  25. privacyidea/api/radiusserver.py +137 -0
  26. privacyidea/api/realm.py +566 -0
  27. privacyidea/api/recover.py +87 -0
  28. privacyidea/api/register.py +178 -0
  29. privacyidea/api/resolver.py +199 -0
  30. privacyidea/api/serviceid.py +188 -0
  31. privacyidea/api/smsgateway.py +148 -0
  32. privacyidea/api/smtpserver.py +143 -0
  33. privacyidea/api/subscriptions.py +79 -0
  34. privacyidea/api/system.py +519 -0
  35. privacyidea/api/token.py +1399 -0
  36. privacyidea/api/tokengroup.py +186 -0
  37. privacyidea/api/ttype.py +124 -0
  38. privacyidea/api/user.py +361 -0
  39. privacyidea/api/validate.py +884 -0
  40. privacyidea/app.py +439 -0
  41. privacyidea/cli/__init__.py +71 -0
  42. privacyidea/cli/pimanage/__init__.py +21 -0
  43. privacyidea/cli/pimanage/admin.py +69 -0
  44. privacyidea/cli/pimanage/api.py +75 -0
  45. privacyidea/cli/pimanage/audit.py +205 -0
  46. privacyidea/cli/pimanage/backup.py +236 -0
  47. privacyidea/cli/pimanage/challenge.py +59 -0
  48. privacyidea/cli/pimanage/main.py +135 -0
  49. privacyidea/cli/pimanage/pi_config.py +695 -0
  50. privacyidea/cli/pimanage/pi_setup.py +227 -0
  51. privacyidea/cli/pimanage/token.py +46 -0
  52. privacyidea/cli/pitokenjanitor/__init__.py +21 -0
  53. privacyidea/cli/pitokenjanitor/main.py +60 -0
  54. privacyidea/cli/pitokenjanitor/utils/__init__.py +0 -0
  55. privacyidea/cli/pitokenjanitor/utils/findtokens.py +747 -0
  56. privacyidea/cli/pitokenjanitor/utils/importtokens.py +171 -0
  57. privacyidea/cli/pitokenjanitor/utils/updatetokens.py +80 -0
  58. privacyidea/cli/privacyideatokenjanitor/__init__.py +21 -0
  59. privacyidea/cli/privacyideatokenjanitor/findtokens.py +610 -0
  60. privacyidea/cli/privacyideatokenjanitor/loadtokens.py +91 -0
  61. privacyidea/cli/privacyideatokenjanitor/main.py +60 -0
  62. privacyidea/cli/privacyideatokenjanitor/updatetokens.py +74 -0
  63. privacyidea/cli/tools/__init__.py +0 -0
  64. privacyidea/cli/tools/cron.py +204 -0
  65. privacyidea/cli/tools/expired_users.py +157 -0
  66. privacyidea/cli/tools/get_serial.py +96 -0
  67. privacyidea/cli/tools/get_unused_tokens.py +169 -0
  68. privacyidea/cli/tools/standalone.py +266 -0
  69. privacyidea/cli/tools/usercache_cleanup.py +112 -0
  70. privacyidea/config.py +293 -0
  71. privacyidea/lib/__init__.py +21 -0
  72. privacyidea/lib/applications/__init__.py +27 -0
  73. privacyidea/lib/applications/base.py +190 -0
  74. privacyidea/lib/applications/luks.py +95 -0
  75. privacyidea/lib/applications/offline.py +236 -0
  76. privacyidea/lib/applications/ssh.py +111 -0
  77. privacyidea/lib/apps.py +193 -0
  78. privacyidea/lib/audit.py +139 -0
  79. privacyidea/lib/auditmodules/__init__.py +0 -0
  80. privacyidea/lib/auditmodules/base.py +281 -0
  81. privacyidea/lib/auditmodules/containeraudit.py +118 -0
  82. privacyidea/lib/auditmodules/loggeraudit.py +88 -0
  83. privacyidea/lib/auditmodules/sqlaudit.py +623 -0
  84. privacyidea/lib/auth.py +148 -0
  85. privacyidea/lib/authcache.py +162 -0
  86. privacyidea/lib/cache/__init__.py +20 -0
  87. privacyidea/lib/caconnector.py +328 -0
  88. privacyidea/lib/caconnectors/__init__.py +0 -0
  89. privacyidea/lib/caconnectors/baseca.py +161 -0
  90. privacyidea/lib/caconnectors/caservice_pb2.py +73 -0
  91. privacyidea/lib/caconnectors/caservice_pb2_grpc.py +354 -0
  92. privacyidea/lib/caconnectors/localca.py +705 -0
  93. privacyidea/lib/caconnectors/msca.py +436 -0
  94. privacyidea/lib/challenge.py +264 -0
  95. privacyidea/lib/challengeresponsedecorators.py +204 -0
  96. privacyidea/lib/clientapplication.py +105 -0
  97. privacyidea/lib/config.py +1168 -0
  98. privacyidea/lib/container.py +1685 -0
  99. privacyidea/lib/containerclass.py +1015 -0
  100. privacyidea/lib/containers/__init__.py +0 -0
  101. privacyidea/lib/containers/container_info.py +61 -0
  102. privacyidea/lib/containers/container_states.py +63 -0
  103. privacyidea/lib/containers/smartphone.py +495 -0
  104. privacyidea/lib/containers/smartphone_options.py +27 -0
  105. privacyidea/lib/containers/yubikey.py +62 -0
  106. privacyidea/lib/containertemplate/__init__.py +0 -0
  107. privacyidea/lib/containertemplate/containertemplatebase.py +109 -0
  108. privacyidea/lib/containertemplate/smartphonetemplate.py +48 -0
  109. privacyidea/lib/containertemplate/yubikeytemplate.py +50 -0
  110. privacyidea/lib/counter.py +107 -0
  111. privacyidea/lib/crypto.py +1194 -0
  112. privacyidea/lib/decorators.py +151 -0
  113. privacyidea/lib/error.py +226 -0
  114. privacyidea/lib/event.py +319 -0
  115. privacyidea/lib/eventhandler/__init__.py +0 -0
  116. privacyidea/lib/eventhandler/base.py +1061 -0
  117. privacyidea/lib/eventhandler/containerhandler.py +332 -0
  118. privacyidea/lib/eventhandler/counterhandler.py +111 -0
  119. privacyidea/lib/eventhandler/customuserattributeshandler.py +143 -0
  120. privacyidea/lib/eventhandler/federationhandler.py +179 -0
  121. privacyidea/lib/eventhandler/logginghandler.py +159 -0
  122. privacyidea/lib/eventhandler/requestmangler.py +177 -0
  123. privacyidea/lib/eventhandler/responsemangler.py +167 -0
  124. privacyidea/lib/eventhandler/scripthandler.py +218 -0
  125. privacyidea/lib/eventhandler/tokenhandler.py +684 -0
  126. privacyidea/lib/eventhandler/usernotification.py +533 -0
  127. privacyidea/lib/eventhandler/webhookeventhandler.py +194 -0
  128. privacyidea/lib/fido2/__init__.py +0 -0
  129. privacyidea/lib/fido2/challenge.py +133 -0
  130. privacyidea/lib/fido2/config.py +4 -0
  131. privacyidea/lib/fido2/policy_action.py +18 -0
  132. privacyidea/lib/fido2/token_info.py +24 -0
  133. privacyidea/lib/fido2/util.py +120 -0
  134. privacyidea/lib/framework.py +61 -0
  135. privacyidea/lib/importotp.py +784 -0
  136. privacyidea/lib/info/__init__.py +0 -0
  137. privacyidea/lib/info/rss.py +72 -0
  138. privacyidea/lib/lifecycle.py +52 -0
  139. privacyidea/lib/log.py +233 -0
  140. privacyidea/lib/machine.py +506 -0
  141. privacyidea/lib/machineresolver.py +296 -0
  142. privacyidea/lib/machines/__init__.py +28 -0
  143. privacyidea/lib/machines/base.py +179 -0
  144. privacyidea/lib/machines/hosts.py +155 -0
  145. privacyidea/lib/machines/ldap.py +346 -0
  146. privacyidea/lib/monitoringmodules/__init__.py +0 -0
  147. privacyidea/lib/monitoringmodules/base.py +97 -0
  148. privacyidea/lib/monitoringmodules/sqlstats.py +182 -0
  149. privacyidea/lib/monitoringstats.py +128 -0
  150. privacyidea/lib/passwordreset.py +148 -0
  151. privacyidea/lib/periodictask.py +307 -0
  152. privacyidea/lib/pinhandling/__init__.py +0 -0
  153. privacyidea/lib/pinhandling/base.py +75 -0
  154. privacyidea/lib/policies/__init__.py +0 -0
  155. privacyidea/lib/policies/actions.py +215 -0
  156. privacyidea/lib/policies/conditions.py +479 -0
  157. privacyidea/lib/policies/helper.py +128 -0
  158. privacyidea/lib/policy.py +3486 -0
  159. privacyidea/lib/policydecorators.py +615 -0
  160. privacyidea/lib/pooling.py +126 -0
  161. privacyidea/lib/privacyideaserver.py +237 -0
  162. privacyidea/lib/queue.py +154 -0
  163. privacyidea/lib/queues/__init__.py +17 -0
  164. privacyidea/lib/queues/base.py +58 -0
  165. privacyidea/lib/queues/huey_queue.py +51 -0
  166. privacyidea/lib/radiusserver.py +361 -0
  167. privacyidea/lib/realm.py +314 -0
  168. privacyidea/lib/resolver.py +433 -0
  169. privacyidea/lib/resolvers/EntraIDResolver.py +461 -0
  170. privacyidea/lib/resolvers/HTTPResolver.py +1139 -0
  171. privacyidea/lib/resolvers/KeycloakResolver.py +331 -0
  172. privacyidea/lib/resolvers/LDAPIdResolver.py +1467 -0
  173. privacyidea/lib/resolvers/PasswdIdResolver.py +491 -0
  174. privacyidea/lib/resolvers/SCIMIdResolver.py +314 -0
  175. privacyidea/lib/resolvers/SQLIdResolver.py +767 -0
  176. privacyidea/lib/resolvers/UserIdResolver.py +289 -0
  177. privacyidea/lib/resolvers/__init__.py +6 -0
  178. privacyidea/lib/resolvers/util.py +49 -0
  179. privacyidea/lib/security/__init__.py +1 -0
  180. privacyidea/lib/security/aeshsm.py +350 -0
  181. privacyidea/lib/security/default.py +506 -0
  182. privacyidea/lib/security/encryptkey.py +371 -0
  183. privacyidea/lib/security/password/__init__.py +1 -0
  184. privacyidea/lib/serviceid.py +75 -0
  185. privacyidea/lib/smsprovider/FirebaseProvider.py +213 -0
  186. privacyidea/lib/smsprovider/HttpSMSProvider.py +297 -0
  187. privacyidea/lib/smsprovider/SMSProvider.py +354 -0
  188. privacyidea/lib/smsprovider/ScriptSMSProvider.py +126 -0
  189. privacyidea/lib/smsprovider/SipgateSMSProvider.py +128 -0
  190. privacyidea/lib/smsprovider/SmppSMSProvider.py +146 -0
  191. privacyidea/lib/smsprovider/SmtpSMSProvider.py +136 -0
  192. privacyidea/lib/smsprovider/__init__.py +35 -0
  193. privacyidea/lib/smtpserver.py +336 -0
  194. privacyidea/lib/sqlutils.py +119 -0
  195. privacyidea/lib/subscriptions.py +363 -0
  196. privacyidea/lib/task/__init__.py +0 -0
  197. privacyidea/lib/task/base.py +56 -0
  198. privacyidea/lib/task/eventcounter.py +75 -0
  199. privacyidea/lib/task/simplestats.py +94 -0
  200. privacyidea/lib/token.py +3069 -0
  201. privacyidea/lib/tokenclass.py +2042 -0
  202. privacyidea/lib/tokengroup.py +78 -0
  203. privacyidea/lib/tokens/HMAC.py +159 -0
  204. privacyidea/lib/tokens/__init__.py +0 -0
  205. privacyidea/lib/tokens/applicationspecificpasswordtoken.py +154 -0
  206. privacyidea/lib/tokens/certificatetoken.py +690 -0
  207. privacyidea/lib/tokens/daplugtoken.py +268 -0
  208. privacyidea/lib/tokens/daypasswordtoken.py +428 -0
  209. privacyidea/lib/tokens/emailtoken.py +602 -0
  210. privacyidea/lib/tokens/foureyestoken.py +512 -0
  211. privacyidea/lib/tokens/hotptoken.py +928 -0
  212. privacyidea/lib/tokens/indexedsecrettoken.py +382 -0
  213. privacyidea/lib/tokens/mOTP.py +154 -0
  214. privacyidea/lib/tokens/motptoken.py +262 -0
  215. privacyidea/lib/tokens/ocra.py +339 -0
  216. privacyidea/lib/tokens/ocratoken.py +296 -0
  217. privacyidea/lib/tokens/papertoken.py +146 -0
  218. privacyidea/lib/tokens/passkeytoken.py +481 -0
  219. privacyidea/lib/tokens/passwordtoken.py +208 -0
  220. privacyidea/lib/tokens/pushtoken.py +1231 -0
  221. privacyidea/lib/tokens/questionnairetoken.py +359 -0
  222. privacyidea/lib/tokens/radiustoken.py +547 -0
  223. privacyidea/lib/tokens/registrationtoken.py +177 -0
  224. privacyidea/lib/tokens/remotetoken.py +346 -0
  225. privacyidea/lib/tokens/smstoken.py +634 -0
  226. privacyidea/lib/tokens/spasstoken.py +159 -0
  227. privacyidea/lib/tokens/sshkeytoken.py +168 -0
  228. privacyidea/lib/tokens/tantoken.py +230 -0
  229. privacyidea/lib/tokens/tiqrtoken.py +487 -0
  230. privacyidea/lib/tokens/totptoken.py +695 -0
  231. privacyidea/lib/tokens/u2f.py +256 -0
  232. privacyidea/lib/tokens/u2ftoken.py +617 -0
  233. privacyidea/lib/tokens/vasco.py +183 -0
  234. privacyidea/lib/tokens/vascotoken.py +202 -0
  235. privacyidea/lib/tokens/webauthn.py +2052 -0
  236. privacyidea/lib/tokens/webauthntoken.py +1279 -0
  237. privacyidea/lib/tokens/yubicotoken.py +242 -0
  238. privacyidea/lib/tokens/yubikeytoken.py +491 -0
  239. privacyidea/lib/user.py +872 -0
  240. privacyidea/lib/usercache.py +243 -0
  241. privacyidea/lib/users/__init__.py +0 -0
  242. privacyidea/lib/users/custom_user_attributes.py +8 -0
  243. privacyidea/lib/utils/__init__.py +1491 -0
  244. privacyidea/lib/utils/compare.py +644 -0
  245. privacyidea/lib/utils/emailvalidation.py +38 -0
  246. privacyidea/lib/utils/export.py +106 -0
  247. privacyidea/migrations/README +1 -0
  248. privacyidea/migrations/alembic.ini +44 -0
  249. privacyidea/migrations/env.py +119 -0
  250. privacyidea/migrations/script.py.mako +24 -0
  251. privacyidea/migrations/versions/006d4747f858_.py +30 -0
  252. privacyidea/migrations/versions/00762b3f7a60_.py +79 -0
  253. privacyidea/migrations/versions/04c078e29924_.py +38 -0
  254. privacyidea/migrations/versions/0c7123345224_.py +37 -0
  255. privacyidea/migrations/versions/140ba0ca4f07_.py +19 -0
  256. privacyidea/migrations/versions/145ce80decd_.py +30 -0
  257. privacyidea/migrations/versions/14a1bcb10018_.py +28 -0
  258. privacyidea/migrations/versions/19f727d285e2_.py +34 -0
  259. privacyidea/migrations/versions/1a0710df148b_.py +26 -0
  260. privacyidea/migrations/versions/1a69e5e5e2ac_.py +48 -0
  261. privacyidea/migrations/versions/1c48d4ffb8c3_.py +32 -0
  262. privacyidea/migrations/versions/1edda52b619f_.py +31 -0
  263. privacyidea/migrations/versions/204d8d4f351e_.py +27 -0
  264. privacyidea/migrations/versions/205bda834127_.py +43 -0
  265. privacyidea/migrations/versions/20969b4cbf06_.py +46 -0
  266. privacyidea/migrations/versions/2100d1fad908_.py +31 -0
  267. privacyidea/migrations/versions/2118e566df16_.py +26 -0
  268. privacyidea/migrations/versions/2181294eed0b_.py +32 -0
  269. privacyidea/migrations/versions/22558d9f3178_.py +26 -0
  270. privacyidea/migrations/versions/239995464c48_.py +34 -0
  271. privacyidea/migrations/versions/250931d82e51_.py +35 -0
  272. privacyidea/migrations/versions/2551ee982544_.py +37 -0
  273. privacyidea/migrations/versions/2ac117d0a6f5_.py +43 -0
  274. privacyidea/migrations/versions/2c9430cfc66b_.py +60 -0
  275. privacyidea/migrations/versions/307a4fbe8a05_.py +36 -0
  276. privacyidea/migrations/versions/3236a1abf1c6_.py +28 -0
  277. privacyidea/migrations/versions/3429d523e51f_.py +41 -0
  278. privacyidea/migrations/versions/36428afb2457_.py +35 -0
  279. privacyidea/migrations/versions/37e6b49fc686_.py +60 -0
  280. privacyidea/migrations/versions/3ae3c668f444_.py +43 -0
  281. privacyidea/migrations/versions/3ba618f6b820_.py +44 -0
  282. privacyidea/migrations/versions/3c6e9dd7fbac_.py +48 -0
  283. privacyidea/migrations/versions/3d7f8b29cbb1_.py +101 -0
  284. privacyidea/migrations/versions/3f7e8583ea2_.py +38 -0
  285. privacyidea/migrations/versions/4023571658f8_.py +48 -0
  286. privacyidea/migrations/versions/41ad6c9ada8b_.py +138 -0
  287. privacyidea/migrations/versions/4238eac8ccab_.py +82 -0
  288. privacyidea/migrations/versions/449903fb6e35_.py +41 -0
  289. privacyidea/migrations/versions/48ee74b8a7c8_.py +193 -0
  290. privacyidea/migrations/versions/49a04e560d96_.py +34 -0
  291. privacyidea/migrations/versions/4a0aec37e7cf_.py +49 -0
  292. privacyidea/migrations/versions/4d9178fa8336_.py +34 -0
  293. privacyidea/migrations/versions/4f32a4e1bf33_.py +519 -0
  294. privacyidea/migrations/versions/50adc980d625_.py +52 -0
  295. privacyidea/migrations/versions/52c494a115a9_.py +37 -0
  296. privacyidea/migrations/versions/5402fd96fbca_.py +55 -0
  297. privacyidea/migrations/versions/5741e5dac477_.py +57 -0
  298. privacyidea/migrations/versions/58e4f7ebb705_.py +26 -0
  299. privacyidea/migrations/versions/59ef3e03bc62_.py +29 -0
  300. privacyidea/migrations/versions/5cb310101a1f_.py +83 -0
  301. privacyidea/migrations/versions/5f40baab76ca_.py +44 -0
  302. privacyidea/migrations/versions/631ec59e1ca6_.py +26 -0
  303. privacyidea/migrations/versions/69e7817b9863_.py +272 -0
  304. privacyidea/migrations/versions/7301d5130c3a_.py +52 -0
  305. privacyidea/migrations/versions/849170064430_.py +26 -0
  306. privacyidea/migrations/versions/86f40f535d7c_.py +34 -0
  307. privacyidea/migrations/versions/888b56ed5dcb_.py +40 -0
  308. privacyidea/migrations/versions/89e57ed16379_.py +49 -0
  309. privacyidea/migrations/versions/8d40dbcfda25_.py +35 -0
  310. privacyidea/migrations/versions/903a6ed6f6c4_.py +43 -0
  311. privacyidea/migrations/versions/9155f0d3d028_.py +100 -0
  312. privacyidea/migrations/versions/a28f2733897b_.py +48 -0
  313. privacyidea/migrations/versions/a63df077051a_.py +26 -0
  314. privacyidea/migrations/versions/a7e91b18a460_.py +69 -0
  315. privacyidea/migrations/versions/b9131d0686eb_.py +93 -0
  316. privacyidea/migrations/versions/c128c01a5520_.py +100 -0
  317. privacyidea/migrations/versions/cb6d7b7bae63_.py +28 -0
  318. privacyidea/migrations/versions/d0e7144947d0_.py +91 -0
  319. privacyidea/migrations/versions/d2ae8e54b628_.py +69 -0
  320. privacyidea/migrations/versions/d3c0f0403a84_.py +19 -0
  321. privacyidea/migrations/versions/d415d490eb05_.py +33 -0
  322. privacyidea/migrations/versions/d5870fd2f2a4_.py +19 -0
  323. privacyidea/migrations/versions/d6b40a745e5_.py +33 -0
  324. privacyidea/migrations/versions/d756b34061ff_.py +97 -0
  325. privacyidea/migrations/versions/db6b2ef8100f_.py +36 -0
  326. privacyidea/migrations/versions/dceb6cd3c41e_.py +55 -0
  327. privacyidea/migrations/versions/e360c56bcf8c_.py +88 -0
  328. privacyidea/migrations/versions/e3a64b4ca634_.py +46 -0
  329. privacyidea/migrations/versions/e5cbeb7c177_.py +33 -0
  330. privacyidea/migrations/versions/eac770c0bbed_.py +59 -0
  331. privacyidea/migrations/versions/ef29ba43e290_.py +40 -0
  332. privacyidea/migrations/versions/fa07bd604a75.py +83 -0
  333. privacyidea/migrations/versions/fabcf24d9304_.py +36 -0
  334. privacyidea/migrations/versions/ff26585932ec_.py +45 -0
  335. privacyidea/models/__init__.py +88 -0
  336. privacyidea/models/audit.py +132 -0
  337. privacyidea/models/cache.py +65 -0
  338. privacyidea/models/caconnector.py +116 -0
  339. privacyidea/models/challenge.py +175 -0
  340. privacyidea/models/config.py +209 -0
  341. privacyidea/models/customuserattribute.py +82 -0
  342. privacyidea/models/db.py +39 -0
  343. privacyidea/models/event.py +237 -0
  344. privacyidea/models/eventcounter.py +74 -0
  345. privacyidea/models/machine.py +259 -0
  346. privacyidea/models/monitoringstats.py +57 -0
  347. privacyidea/models/periodictask.py +262 -0
  348. privacyidea/models/policy.py +215 -0
  349. privacyidea/models/realm.py +131 -0
  350. privacyidea/models/resolver.py +120 -0
  351. privacyidea/models/server.py +202 -0
  352. privacyidea/models/serviceid.py +57 -0
  353. privacyidea/models/smsgateway.py +193 -0
  354. privacyidea/models/subscription.py +132 -0
  355. privacyidea/models/token.py +794 -0
  356. privacyidea/models/tokencontainer.py +249 -0
  357. privacyidea/models/tokengroup.py +130 -0
  358. privacyidea/models/utils.py +39 -0
  359. privacyidea/static/README.md +24 -0
  360. privacyidea/static/app.js +196 -0
  361. privacyidea/static/components/audit/controllers/auditControllers.js +135 -0
  362. privacyidea/static/components/audit/factories/audit.js +49 -0
  363. privacyidea/static/components/audit/states/states.js +45 -0
  364. privacyidea/static/components/audit/views/audit.html +30 -0
  365. privacyidea/static/components/audit/views/audit.log.html +225 -0
  366. privacyidea/static/components/components/controllers/componentControllers.js +103 -0
  367. privacyidea/static/components/components/factories/component.js +60 -0
  368. privacyidea/static/components/components/states/states.js +47 -0
  369. privacyidea/static/components/components/views/component.clienttype.html +29 -0
  370. privacyidea/static/components/components/views/component.html +38 -0
  371. privacyidea/static/components/components/views/component.subscriptions.html +79 -0
  372. privacyidea/static/components/config/controllers/configControllers.js +1648 -0
  373. privacyidea/static/components/config/controllers/eventController.js +335 -0
  374. privacyidea/static/components/config/controllers/ldapMachineResolverController.js +79 -0
  375. privacyidea/static/components/config/controllers/periodicTaskController.js +204 -0
  376. privacyidea/static/components/config/controllers/privacyideaServerController.js +109 -0
  377. privacyidea/static/components/config/controllers/radiusServerController.js +106 -0
  378. privacyidea/static/components/config/controllers/realmController.js +307 -0
  379. privacyidea/static/components/config/controllers/serviceidController.js +77 -0
  380. privacyidea/static/components/config/controllers/smsgatewayController.js +151 -0
  381. privacyidea/static/components/config/controllers/smtpServerController.js +116 -0
  382. privacyidea/static/components/config/controllers/tokengroupController.js +89 -0
  383. privacyidea/static/components/config/factories/config.js +1017 -0
  384. privacyidea/static/components/config/states/states.js +390 -0
  385. privacyidea/static/components/config/views/config.caconnectors.list.html +31 -0
  386. privacyidea/static/components/config/views/config.caconnectors.local.html +179 -0
  387. privacyidea/static/components/config/views/config.caconnectors.microsoft.html +171 -0
  388. privacyidea/static/components/config/views/config.events.details.html +315 -0
  389. privacyidea/static/components/config/views/config.events.html +27 -0
  390. privacyidea/static/components/config/views/config.events.list.html +91 -0
  391. privacyidea/static/components/config/views/config.html +86 -0
  392. privacyidea/static/components/config/views/config.machineresolvers.html +42 -0
  393. privacyidea/static/components/config/views/config.mresolvers.hosts.html +48 -0
  394. privacyidea/static/components/config/views/config.mresolvers.ldap.html +216 -0
  395. privacyidea/static/components/config/views/config.mresolvers.list.html +33 -0
  396. privacyidea/static/components/config/views/config.periodictasks.details.html +199 -0
  397. privacyidea/static/components/config/views/config.periodictasks.html +21 -0
  398. privacyidea/static/components/config/views/config.periodictasks.list.html +62 -0
  399. privacyidea/static/components/config/views/config.policies.details.html +527 -0
  400. privacyidea/static/components/config/views/config.policies.html +26 -0
  401. privacyidea/static/components/config/views/config.policies.list.html +86 -0
  402. privacyidea/static/components/config/views/config.privacyideaserver.edit.html +97 -0
  403. privacyidea/static/components/config/views/config.privacyideaserver.list.html +39 -0
  404. privacyidea/static/components/config/views/config.radius.edit.html +137 -0
  405. privacyidea/static/components/config/views/config.radius.list.html +41 -0
  406. privacyidea/static/components/config/views/config.realms.create.html +101 -0
  407. privacyidea/static/components/config/views/config.realms.html +37 -0
  408. privacyidea/static/components/config/views/config.realms.list.html +158 -0
  409. privacyidea/static/components/config/views/config.resolvers.html +47 -0
  410. privacyidea/static/components/config/views/config.resolvers.http.advanced.html +344 -0
  411. privacyidea/static/components/config/views/config.resolvers.http.basic.html +85 -0
  412. privacyidea/static/components/config/views/config.resolvers.http.html +81 -0
  413. privacyidea/static/components/config/views/config.resolvers.ldap.html +433 -0
  414. privacyidea/static/components/config/views/config.resolvers.list.html +33 -0
  415. privacyidea/static/components/config/views/config.resolvers.passwd.html +49 -0
  416. privacyidea/static/components/config/views/config.resolvers.scim.html +97 -0
  417. privacyidea/static/components/config/views/config.resolvers.sql.html +261 -0
  418. privacyidea/static/components/config/views/config.serviceid.edit.html +47 -0
  419. privacyidea/static/components/config/views/config.serviceid.list.html +41 -0
  420. privacyidea/static/components/config/views/config.smsgateway.edit.html +173 -0
  421. privacyidea/static/components/config/views/config.smsgateway.list.html +34 -0
  422. privacyidea/static/components/config/views/config.smtp.edit.html +154 -0
  423. privacyidea/static/components/config/views/config.smtp.list.html +46 -0
  424. privacyidea/static/components/config/views/config.system.doc.html +9 -0
  425. privacyidea/static/components/config/views/config.system.edit.html +248 -0
  426. privacyidea/static/components/config/views/config.system.html +236 -0
  427. privacyidea/static/components/config/views/config.token.daypassword.html +27 -0
  428. privacyidea/static/components/config/views/config.token.email.html +28 -0
  429. privacyidea/static/components/config/views/config.token.hotp.html +19 -0
  430. privacyidea/static/components/config/views/config.token.question.html +66 -0
  431. privacyidea/static/components/config/views/config.token.radius.html +20 -0
  432. privacyidea/static/components/config/views/config.token.remote.html +23 -0
  433. privacyidea/static/components/config/views/config.token.sms.html +55 -0
  434. privacyidea/static/components/config/views/config.token.tiqr.html +91 -0
  435. privacyidea/static/components/config/views/config.token.totp.html +46 -0
  436. privacyidea/static/components/config/views/config.token.u2f.html +31 -0
  437. privacyidea/static/components/config/views/config.token.webauthn.html +42 -0
  438. privacyidea/static/components/config/views/config.token.yubico.html +42 -0
  439. privacyidea/static/components/config/views/config.token.yubikey.html +62 -0
  440. privacyidea/static/components/config/views/config.tokengroup.edit.html +47 -0
  441. privacyidea/static/components/config/views/config.tokengroup.list.html +37 -0
  442. privacyidea/static/components/config/views/config.tokens.html +92 -0
  443. privacyidea/static/components/config/views/dialog.confirm_delete.html +34 -0
  444. privacyidea/static/components/dashboard/controllers/dashboardControllers.js +213 -0
  445. privacyidea/static/components/dashboard/states/states.js +36 -0
  446. privacyidea/static/components/dashboard/views/dashboard.html +213 -0
  447. privacyidea/static/components/dialogs/views/dialog.about.html +53 -0
  448. privacyidea/static/components/dialogs/views/dialog.autocreate_realm.html +32 -0
  449. privacyidea/static/components/dialogs/views/dialog.lock.html +42 -0
  450. privacyidea/static/components/dialogs/views/dialog.no.token.html +40 -0
  451. privacyidea/static/components/dialogs/views/dialog.welcome.html +171 -0
  452. privacyidea/static/components/directives/controllers/directives.js +1015 -0
  453. privacyidea/static/components/directives/views/directive.assigntoken.html +40 -0
  454. privacyidea/static/components/directives/views/directive.assignuser.html +52 -0
  455. privacyidea/static/components/directives/views/directive.attachmachine.html +20 -0
  456. privacyidea/static/components/directives/views/directive.attachtoken.html +20 -0
  457. privacyidea/static/components/directives/views/directive.containerTemplateDiff.html +49 -0
  458. privacyidea/static/components/directives/views/directive.containertemplate.details.html +93 -0
  459. privacyidea/static/components/directives/views/directive.csvdownload.html +10 -0
  460. privacyidea/static/components/directives/views/directive.filter.table.html +5 -0
  461. privacyidea/static/components/directives/views/directive.httpResolverEndpointConfig.html +84 -0
  462. privacyidea/static/components/directives/views/directive.otpList.html +80 -0
  463. privacyidea/static/components/directives/views/directive.policyconditions.html +94 -0
  464. privacyidea/static/components/directives/views/directive.registerContainer.html +84 -0
  465. privacyidea/static/components/directives/views/directive.selectorcreatecontainer.html +67 -0
  466. privacyidea/static/components/directives/views/directive.selectresolver.html +19 -0
  467. privacyidea/static/components/directives/views/directive.tokendata.html +36 -0
  468. privacyidea/static/components/directives/views/directive.verifyEnrolledToken.html +33 -0
  469. privacyidea/static/components/filters/filters.js +35 -0
  470. privacyidea/static/components/info/controllers/infoController.js +41 -0
  471. privacyidea/static/components/info/factories/info.js +38 -0
  472. privacyidea/static/components/info/states/states.js +40 -0
  473. privacyidea/static/components/info/views/info.rss.html +45 -0
  474. privacyidea/static/components/login/controllers/loginControllers.js +733 -0
  475. privacyidea/static/components/login/factories/auth.js +149 -0
  476. privacyidea/static/components/login/factories/u2f.js +109 -0
  477. privacyidea/static/components/login/factories/webauthn.js +116 -0
  478. privacyidea/static/components/login/states/states.js +52 -0
  479. privacyidea/static/components/login/views/enter-response.html +34 -0
  480. privacyidea/static/components/login/views/login.html +100 -0
  481. privacyidea/static/components/login/views/offline.html +4 -0
  482. privacyidea/static/components/login/views/pinchange.html +31 -0
  483. privacyidea/static/components/machine/controllers/machineController.js +85 -0
  484. privacyidea/static/components/machine/controllers/machineDetailsController.js +113 -0
  485. privacyidea/static/components/machine/factories/machine.js +70 -0
  486. privacyidea/static/components/machine/states/states.js +48 -0
  487. privacyidea/static/components/machine/views/machine.details.html +166 -0
  488. privacyidea/static/components/machine/views/machine.html +32 -0
  489. privacyidea/static/components/machine/views/machine.list.html +44 -0
  490. privacyidea/static/components/recovery/controllers/recoveryControllers.js +39 -0
  491. privacyidea/static/components/recovery/factories/recoveryFactory.js +21 -0
  492. privacyidea/static/components/recovery/states/states.js +42 -0
  493. privacyidea/static/components/recovery/views/recovery.html +47 -0
  494. privacyidea/static/components/recovery/views/recovery.reset.html +31 -0
  495. privacyidea/static/components/register/controllers/registerControllers.js +21 -0
  496. privacyidea/static/components/register/factories/registerFactory.js +19 -0
  497. privacyidea/static/components/register/states/states.js +37 -0
  498. privacyidea/static/components/register/views/register.html +97 -0
  499. privacyidea/static/components/token/controllers/containerControllers.js +1057 -0
  500. privacyidea/static/components/token/controllers/containerTemplateControllers.js +312 -0
  501. privacyidea/static/components/token/controllers/tokenApplicationsController.js +76 -0
  502. privacyidea/static/components/token/controllers/tokenChallengesController.js +76 -0
  503. privacyidea/static/components/token/controllers/tokenControllers.js +872 -0
  504. privacyidea/static/components/token/controllers/tokenDetailController.js +583 -0
  505. privacyidea/static/components/token/controllers/tokenGetSerialController.js +48 -0
  506. privacyidea/static/components/token/controllers/tokenLostController.js +14 -0
  507. privacyidea/static/components/token/factories/container.js +248 -0
  508. privacyidea/static/components/token/factories/token.js +405 -0
  509. privacyidea/static/components/token/factories/validate.js +35 -0
  510. privacyidea/static/components/token/states/states.js +133 -0
  511. privacyidea/static/components/token/views/dialog.ask_token_delete.html +37 -0
  512. privacyidea/static/components/token/views/token.applications.html +14 -0
  513. privacyidea/static/components/token/views/token.applications.offline.html +68 -0
  514. privacyidea/static/components/token/views/token.applications.ssh.html +71 -0
  515. privacyidea/static/components/token/views/token.assign.html +17 -0
  516. privacyidea/static/components/token/views/token.challenges.html +83 -0
  517. privacyidea/static/components/token/views/token.containercreate.html +253 -0
  518. privacyidea/static/components/token/views/token.containerdetails.html +768 -0
  519. privacyidea/static/components/token/views/token.containerlist.html +167 -0
  520. privacyidea/static/components/token/views/token.containertemplates.create.html +69 -0
  521. privacyidea/static/components/token/views/token.containertemplates.edit.html +147 -0
  522. privacyidea/static/components/token/views/token.containertemplates.list.html +76 -0
  523. privacyidea/static/components/token/views/token.details.html +794 -0
  524. privacyidea/static/components/token/views/token.display.apps.html +9 -0
  525. privacyidea/static/components/token/views/token.enroll.4eyes.html +48 -0
  526. privacyidea/static/components/token/views/token.enroll.applspec.html +39 -0
  527. privacyidea/static/components/token/views/token.enroll.certificate.html +81 -0
  528. privacyidea/static/components/token/views/token.enroll.daypassword.html +70 -0
  529. privacyidea/static/components/token/views/token.enroll.email.html +25 -0
  530. privacyidea/static/components/token/views/token.enroll.hotp.html +71 -0
  531. privacyidea/static/components/token/views/token.enroll.html +237 -0
  532. privacyidea/static/components/token/views/token.enroll.indexedsecret.html +20 -0
  533. privacyidea/static/components/token/views/token.enroll.motp.html +46 -0
  534. privacyidea/static/components/token/views/token.enroll.paper.html +5 -0
  535. privacyidea/static/components/token/views/token.enroll.push.html +12 -0
  536. privacyidea/static/components/token/views/token.enroll.question.html +17 -0
  537. privacyidea/static/components/token/views/token.enroll.radius.html +53 -0
  538. privacyidea/static/components/token/views/token.enroll.registration.html +9 -0
  539. privacyidea/static/components/token/views/token.enroll.remote.html +54 -0
  540. privacyidea/static/components/token/views/token.enroll.sms.html +45 -0
  541. privacyidea/static/components/token/views/token.enroll.spass.html +4 -0
  542. privacyidea/static/components/token/views/token.enroll.sshkey.html +17 -0
  543. privacyidea/static/components/token/views/token.enroll.tan.html +5 -0
  544. privacyidea/static/components/token/views/token.enroll.tiqr.html +10 -0
  545. privacyidea/static/components/token/views/token.enroll.totp.html +80 -0
  546. privacyidea/static/components/token/views/token.enroll.u2f.html +5 -0
  547. privacyidea/static/components/token/views/token.enroll.vasco.html +31 -0
  548. privacyidea/static/components/token/views/token.enroll.webauthn.html +5 -0
  549. privacyidea/static/components/token/views/token.enroll.yubico.html +22 -0
  550. privacyidea/static/components/token/views/token.enroll.yubikey.html +47 -0
  551. privacyidea/static/components/token/views/token.enrolled.applspec.html +11 -0
  552. privacyidea/static/components/token/views/token.enrolled.certificate.html +57 -0
  553. privacyidea/static/components/token/views/token.enrolled.daypassword.html +61 -0
  554. privacyidea/static/components/token/views/token.enrolled.hotp.html +60 -0
  555. privacyidea/static/components/token/views/token.enrolled.motp.html +27 -0
  556. privacyidea/static/components/token/views/token.enrolled.paper.html +65 -0
  557. privacyidea/static/components/token/views/token.enrolled.push.html +26 -0
  558. privacyidea/static/components/token/views/token.enrolled.registration.html +18 -0
  559. privacyidea/static/components/token/views/token.enrolled.tan.html +65 -0
  560. privacyidea/static/components/token/views/token.enrolled.tiqr.html +27 -0
  561. privacyidea/static/components/token/views/token.enrolled.totp.html +61 -0
  562. privacyidea/static/components/token/views/token.enrolled.u2f.html +40 -0
  563. privacyidea/static/components/token/views/token.enrolled.webauthn.html +38 -0
  564. privacyidea/static/components/token/views/token.getserial.html +113 -0
  565. privacyidea/static/components/token/views/token.html +275 -0
  566. privacyidea/static/components/token/views/token.import.html +147 -0
  567. privacyidea/static/components/token/views/token.list.html +167 -0
  568. privacyidea/static/components/token/views/token.lost.html +56 -0
  569. privacyidea/static/components/translation/translations.js +24 -0
  570. privacyidea/static/components/user/controllers/userControllers.js +582 -0
  571. privacyidea/static/components/user/factories/user.js +107 -0
  572. privacyidea/static/components/user/states/states.js +59 -0
  573. privacyidea/static/components/user/views/dialog.ask_user_delete.html +33 -0
  574. privacyidea/static/components/user/views/user.add.dynamic.form.fields.html +44 -0
  575. privacyidea/static/components/user/views/user.add.html +64 -0
  576. privacyidea/static/components/user/views/user.details.html +371 -0
  577. privacyidea/static/components/user/views/user.html +82 -0
  578. privacyidea/static/components/user/views/user.list.html +63 -0
  579. privacyidea/static/components/user/views/user.password.html +75 -0
  580. privacyidea/static/contrib/css/angular-inform.css +184 -0
  581. privacyidea/static/contrib/css/angular-inform.css.map +1 -0
  582. privacyidea/static/contrib/css/bootstrap-theme.css +613 -0
  583. privacyidea/static/contrib/css/bootstrap-theme.css.map +1 -0
  584. privacyidea/static/contrib/css/bootstrap.css +6834 -0
  585. privacyidea/static/contrib/css/bootstrap.css.map +1 -0
  586. privacyidea/static/contrib/css/hotkeys.css +110 -0
  587. privacyidea/static/contrib/css/isteven-multi-select.css +299 -0
  588. privacyidea/static/contrib/fonts/glyphicons-halflings-regular.eot +0 -0
  589. privacyidea/static/contrib/fonts/glyphicons-halflings-regular.svg +288 -0
  590. privacyidea/static/contrib/fonts/glyphicons-halflings-regular.ttf +0 -0
  591. privacyidea/static/contrib/fonts/glyphicons-halflings-regular.woff +0 -0
  592. privacyidea/static/contrib/fonts/glyphicons-halflings-regular.woff2 +0 -0
  593. privacyidea/static/contrib/js/angular-inform.js +194 -0
  594. privacyidea/static/contrib/js/angular-inform.js.map +1 -0
  595. privacyidea/static/contrib/js/angular.js +36600 -0
  596. privacyidea/static/contrib/js/bootstrap.js +2580 -0
  597. privacyidea/static/contrib/js/hotkeys.js +1661 -0
  598. privacyidea/static/contrib/js/jquery.js +10716 -0
  599. privacyidea/static/contrib/js/ngmodules/angular-gettext.js +837 -0
  600. privacyidea/static/contrib/js/ngmodules/angular-idle.js +534 -0
  601. privacyidea/static/contrib/js/ngmodules/angular-sanitize.js +891 -0
  602. privacyidea/static/contrib/js/ngmodules/angular-ui-router.js +10540 -0
  603. privacyidea/static/contrib/js/ngmodules/angular-ui-router.js.map +176 -0
  604. privacyidea/static/contrib/js/ngmodules/isteven-multi-select.js +1111 -0
  605. privacyidea/static/contrib/js/ngmodules/ng-file-upload.js +2476 -0
  606. privacyidea/static/contrib/js/u2f-api.js +748 -0
  607. privacyidea/static/contrib/js/ui-bootstrap-tpls.js +7803 -0
  608. privacyidea/static/contrib/js/webauthn-client/pi-webauthn.js +510 -0
  609. privacyidea/static/css/baseline.css +21 -0
  610. privacyidea/static/css/content.css +97 -0
  611. privacyidea/static/css/generic.css +80 -0
  612. privacyidea/static/css/highlight.css +4 -0
  613. privacyidea/static/css/menu.css +40 -0
  614. privacyidea/static/css/papertoken.css +47 -0
  615. privacyidea/static/css/privacyIDEA1.png +0 -0
  616. privacyidea/static/css/signin.css +60 -0
  617. privacyidea/static/css/table-ui.css +1 -0
  618. privacyidea/static/customize/README.rst +69 -0
  619. privacyidea/static/favicon.png +0 -0
  620. privacyidea/static/img/FIDO-U2F-Security-Key-444x444.png +0 -0
  621. privacyidea/static/img/plugup.jpg +0 -0
  622. privacyidea/static/img/solokeys.png +0 -0
  623. privacyidea/static/img/u2fzero.png +0 -0
  624. privacyidea/static/package-lock.json +125 -0
  625. privacyidea/static/package.json +33 -0
  626. privacyidea/static/providers/errorMessageProvider.js +134 -0
  627. privacyidea/static/providers/versioningProvider.js +58 -0
  628. privacyidea/static/templates/baseline.html +35 -0
  629. privacyidea/static/templates/cert_request_form.html +55 -0
  630. privacyidea/static/templates/deactivated.html +3 -0
  631. privacyidea/static/templates/documentation.rst +129 -0
  632. privacyidea/static/templates/footer.html +94 -0
  633. privacyidea/static/templates/header.html +32 -0
  634. privacyidea/static/templates/index.html +32 -0
  635. privacyidea/static/templates/menu.html +181 -0
  636. privacyidea/static/templates/token_enrolled.html +64 -0
  637. privacyidea/static/update_contrib.sh +66 -0
  638. privacyidea/static_new/dist/privacyidea-webui/3rdpartylicenses.txt +502 -0
  639. privacyidea/static_new/dist/privacyidea-webui/browser/assets/favicon.ico +0 -0
  640. privacyidea/static_new/dist/privacyidea-webui/browser/assets/full-logo-white-background.jpg +0 -0
  641. privacyidea/static_new/dist/privacyidea-webui/browser/assets/logo-text.png +0 -0
  642. privacyidea/static_new/dist/privacyidea-webui/browser/assets/privacyIDEA1.png +0 -0
  643. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-2FFDSNP4.js +7 -0
  644. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-4E5QNZ6N.js +18 -0
  645. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-AUEZCLX7.js +4 -0
  646. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-BINJ3RKZ.js +15 -0
  647. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-BNBWK7QQ.js +1 -0
  648. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-CLJG5YCY.js +1 -0
  649. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-DNZJ3H2E.js +18 -0
  650. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-FJW7MZ6A.js +1 -0
  651. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-HC5VYDCA.js +7 -0
  652. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-QCZZ7VQS.js +2 -0
  653. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-SQXNSHQJ.js +1 -0
  654. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-TVV4NZM5.js +1 -0
  655. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-UHJGDJVN.js +1 -0
  656. privacyidea/static_new/dist/privacyidea-webui/browser/chunk-VZAYO6X6.js +1 -0
  657. privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.post.bottom.html +1 -0
  658. privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.post.top.html +1 -0
  659. privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.pre.bottom.html +1 -0
  660. privacyidea/static_new/dist/privacyidea-webui/browser/customize/container-create.wizard.pre.top.html +1 -0
  661. privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.post.bottom.html +1 -0
  662. privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.post.top.html +1 -0
  663. privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.pre.bottom.html +1 -0
  664. privacyidea/static_new/dist/privacyidea-webui/browser/customize/token-enrollment.wizard.pre.top.html +1 -0
  665. privacyidea/static_new/dist/privacyidea-webui/browser/index.html +42 -0
  666. privacyidea/static_new/dist/privacyidea-webui/browser/main-ZHT7JUM6.js +1 -0
  667. privacyidea/static_new/dist/privacyidea-webui/browser/media/Roboto-Bold-74TWGET6.ttf +0 -0
  668. privacyidea/static_new/dist/privacyidea-webui/browser/media/Roboto-VariableFont_wdth,wght-TQJTUEE4.ttf +0 -0
  669. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-JLIDJUWE.woff +0 -0
  670. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-LEZCGFVT.woff2 +0 -0
  671. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-outlined-7BWLPMFK.woff2 +0 -0
  672. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-outlined-PCUTWIDZ.woff +0 -0
  673. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-round-SLOHZIXU.woff +0 -0
  674. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-round-WEHMTW23.woff2 +0 -0
  675. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-sharp-HCCYMPXE.woff2 +0 -0
  676. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-sharp-U4OLFP3G.woff +0 -0
  677. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-two-tone-LCGWGE2N.woff +0 -0
  678. privacyidea/static_new/dist/privacyidea-webui/browser/media/material-icons-two-tone-M5N5K6F5.woff2 +0 -0
  679. privacyidea/static_new/dist/privacyidea-webui/browser/polyfills-3UM2TDSF.js +1 -0
  680. privacyidea/static_new/dist/privacyidea-webui/browser/styles-EMLPHHHL.css +1 -0
  681. privacyidea/static_new/dist/privacyidea-webui/prerendered-routes.json +3 -0
  682. privacyidea/webui/__init__.py +1 -0
  683. privacyidea/webui/certificate.py +112 -0
  684. privacyidea/webui/login.py +205 -0
  685. privacyidea-3.12.data/data/lib/privacyidea/requirements.txt +1042 -0
  686. privacyidea-3.12.data/scripts/creategoogleauthenticator-file +38 -0
  687. privacyidea-3.12.data/scripts/getgooglecodes +46 -0
  688. privacyidea-3.12.data/scripts/privacyidea-authorizedkeys +63 -0
  689. privacyidea-3.12.data/scripts/privacyidea-convert-base32.py +53 -0
  690. privacyidea-3.12.data/scripts/privacyidea-convert-token +132 -0
  691. privacyidea-3.12.data/scripts/privacyidea-convert-xml-to-csv +150 -0
  692. privacyidea-3.12.data/scripts/privacyidea-create-ad-users +98 -0
  693. privacyidea-3.12.data/scripts/privacyidea-create-certificate +83 -0
  694. privacyidea-3.12.data/scripts/privacyidea-create-pwidresolver-user +83 -0
  695. privacyidea-3.12.data/scripts/privacyidea-create-userdb +32 -0
  696. privacyidea-3.12.data/scripts/privacyidea-diag +286 -0
  697. privacyidea-3.12.data/scripts/privacyidea-export-linotp-counter.py +110 -0
  698. privacyidea-3.12.data/scripts/privacyidea-export-privacyidea-counter.py +53 -0
  699. privacyidea-3.12.data/scripts/privacyidea-fetchssh +87 -0
  700. privacyidea-3.12.data/scripts/privacyidea-fix-access-rights +88 -0
  701. privacyidea-3.12.data/scripts/privacyidea-migrate-linotp.py +588 -0
  702. privacyidea-3.12.data/scripts/privacyidea-pip-update +86 -0
  703. privacyidea-3.12.data/scripts/privacyidea-queue-huey +155 -0
  704. privacyidea-3.12.data/scripts/privacyidea-schema-upgrade +64 -0
  705. privacyidea-3.12.data/scripts/privacyidea-sync-owncloud.py +216 -0
  706. privacyidea-3.12.data/scripts/privacyidea-update-counter.py +105 -0
  707. privacyidea-3.12.data/scripts/privacyidea-update-linotp-counter.py +137 -0
  708. privacyidea-3.12.data/scripts/privacyidea-user-action +139 -0
  709. privacyidea-3.12.data/scripts/reset-privacyidea +86 -0
  710. privacyidea-3.12.data/scripts/ssha.py +31 -0
  711. privacyidea-3.12.dist-info/METADATA +300 -0
  712. privacyidea-3.12.dist-info/RECORD +716 -0
  713. privacyidea-3.12.dist-info/WHEEL +5 -0
  714. privacyidea-3.12.dist-info/entry_points.txt +10 -0
  715. privacyidea-3.12.dist-info/licenses/LICENSE +620 -0
  716. privacyidea-3.12.dist-info/top_level.txt +1 -0
@@ -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)
@@ -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)