3bec08f998
feat: manage bot accounts from the admin UI, API and CLI ( #38966 )
...
Adds first-class bot accounts (`UserTypeBot`): local, password-less
users for automation that authenticate only with access tokens.
1. Admin UI: create bots, filter users by type, manage a bot's access
tokens, convert between user and bot
2. API: `POST /admin/users/{username}/convert-type`, and user objects
gain a GitHub-compatible `type` (`User`, `Organization`, `Bot`)
3. CLI: `gitea admin user change-type`, `--user-type` accepts `User` or
`Bot` case-insensitively
4. Converting keeps the password, 2FA, OAuth2 grants and access tokens,
and since sign-in rejects bots, converting back restores the account.
Only local, non-admin accounts can be converted, and conversions are
audited
5. Session, reverse proxy, SSPI, external source and password reset
sign-in reject non-individual users, so a bot never gets an interactive
session
6. Bots receive no notifications or emails
Co-authored-by: Nicolas <bircni@icloud.com >
Co-authored-by: joestump <joe@joestump.net >
Co-authored-by: Joe Stump <joe@stu.mp >
Co-authored-by: silverwind <me@silverwind.io >
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
2026-09-18 12:43:36 +00:00
..
2026-04-23 15:18:53 +00:00
2026-07-20 03:42:02 +00:00
2026-06-08 20:07:15 +00:00
2026-08-07 20:56:40 -07:00
2026-06-27 17:56:12 +00:00
2026-08-07 20:56:40 -07:00
2026-08-07 20:56:40 -07:00
2026-05-26 15:49:31 -07:00
2026-08-24 07:28:17 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-07 20:56:40 -07:00
2026-08-07 20:56:40 -07:00
2026-08-07 20:56:40 -07:00
2026-08-12 19:03:44 +02:00
2026-08-07 20:56:40 -07:00
2026-07-15 02:36:03 +00:00
2026-07-25 21:31:19 +00:00
2026-08-07 20:56:40 -07:00
2026-07-27 17:45:27 +00:00
2026-08-07 20:56:40 -07:00
2026-05-26 15:49:31 -07:00
2026-09-12 08:15:23 +00:00
2026-05-26 15:49:31 -07:00
2026-09-18 12:43:36 +00:00
2026-06-27 12:09:01 +00:00
2026-08-29 07:50:04 +00:00
2026-09-18 12:43:36 +00:00
2026-08-12 19:55:26 +00:00
2026-08-22 18:47:55 +00:00
2026-05-26 15:49:31 -07:00
2026-08-07 20:56:40 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-22 09:29:25 +02:00
2026-09-16 17:34:41 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-31 23:31:17 +00:00
2026-05-26 15:49:31 -07:00
2026-06-10 17:34:10 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-09-06 09:49:27 +00:00
2026-08-09 10:25:06 +00:00
2026-05-26 15:49:31 -07:00
2026-08-17 20:30:24 +00:00
2026-07-25 20:39:36 +08:00
2026-07-12 17:14:09 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-17 20:30:24 +00:00
2026-06-09 06:12:09 +00:00
2026-07-12 17:14:09 +00:00
2026-08-26 19:32:44 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-06-17 06:39:22 +00:00
2026-08-23 07:23:16 +00:00
2026-07-16 11:51:36 +02:00
2026-05-26 15:49:31 -07:00
2026-07-28 17:04:22 +00:00
2026-05-26 15:49:31 -07:00
2026-08-24 07:28:17 +00:00
2026-08-09 10:25:06 +00:00
2026-05-26 15:49:31 -07:00
2026-08-09 10:25:06 +00:00
2026-05-26 15:49:31 -07:00
2026-08-17 17:43:34 +00:00
2026-07-12 17:14:09 +00:00
2026-05-26 15:49:31 -07:00
2026-08-09 12:55:43 +00:00
2026-08-09 10:25:06 +00:00
2026-09-08 18:25:29 +00:00
2026-08-24 07:28:17 +00:00
2026-08-07 11:49:23 +00:00
2026-08-09 10:25:06 +00:00
2026-08-24 07:28:17 +00:00
2026-08-24 07:28:17 +00:00
2026-08-28 05:15:55 +00:00
2026-08-24 18:26:10 +00:00
2026-08-17 20:30:24 +00:00
2026-08-24 07:28:17 +00:00
2026-08-26 19:32:44 +00:00
2026-08-17 20:30:24 +00:00
2026-07-12 17:14:09 +00:00
2026-05-26 15:49:31 -07:00
2026-08-09 10:25:06 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-24 07:28:17 +00:00
2026-05-26 15:49:31 -07:00
2026-06-17 06:39:22 +00:00
2026-06-03 16:21:48 -07:00
2026-05-26 15:49:31 -07:00
2026-08-21 07:06:56 +00:00
2026-08-26 20:12:53 +08:00
2026-07-20 16:07:38 +00:00
2026-08-03 06:41:27 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-03 06:41:27 +00:00
2026-08-20 15:57:17 +00:00
2026-07-28 17:04:22 +00:00
2026-08-03 06:41:27 +00:00
2026-08-03 06:41:27 +00:00
2026-05-26 15:49:31 -07:00
2026-08-05 17:19:31 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-07-28 17:04:22 +00:00
2026-05-26 15:49:31 -07:00
2026-07-12 17:14:09 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-07-31 11:05:41 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-23 06:35:55 +00:00
2026-06-09 06:12:09 +00:00
2026-09-08 09:28:57 +00:00
2026-05-26 15:49:31 -07:00
2026-08-21 07:28:23 +00:00
2026-05-26 15:49:31 -07:00
2026-08-23 06:35:55 +00:00
2026-05-26 15:49:31 -07:00
2026-06-14 20:05:18 +02:00
2026-07-12 17:14:09 +00:00
2026-06-17 16:06:51 +00:00
2026-06-17 06:39:22 +00:00
2026-05-26 15:49:31 -07:00
2026-09-16 17:34:41 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-06-08 16:58:42 +08:00
2026-08-22 23:11:04 -07:00
2026-05-26 15:49:31 -07:00
2026-07-16 17:38:33 +00:00
2026-05-26 15:49:31 -07:00
2026-07-10 19:30:43 +02:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-22 08:08:36 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-24 17:32:23 +00:00
2026-08-14 02:15:33 +00:00
2026-08-09 10:25:06 +00:00
2023-06-29 23:22:55 +00:00
2026-07-08 00:16:32 +00:00
2026-07-20 16:07:38 +00:00
2026-06-29 15:10:47 +00:00
2026-07-28 17:04:22 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-06-18 12:02:11 +00:00
2026-08-26 19:32:44 +00:00
2026-05-26 15:49:31 -07:00
2026-05-29 01:12:11 +00:00
2026-09-05 10:01:27 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-06-17 06:50:25 +02:00
2026-07-12 17:14:09 +00:00
2026-09-06 09:49:27 +00:00
2026-07-20 16:07:38 +00:00
2026-05-26 15:49:31 -07:00
2026-07-28 17:04:22 +00:00
2026-08-22 11:04:35 +00:00
2026-06-13 12:02:02 +08:00
2026-05-26 15:49:31 -07:00
2026-07-12 17:14:09 +00:00
2026-08-29 19:54:07 +00:00
2026-05-26 15:49:31 -07:00
2026-06-18 12:02:11 +00:00
2026-08-09 10:25:06 +00:00
2026-09-18 12:43:36 +00:00
2026-07-12 17:14:09 +00:00
2026-08-08 07:35:13 +00:00
2026-05-26 15:49:31 -07:00
2026-07-31 11:05:41 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-26 17:24:07 +02:00
2026-09-03 18:23:27 +00:00
2026-05-26 15:49:31 -07:00
2026-08-11 18:01:02 +02:00
2026-07-28 17:04:22 +00:00
2026-07-28 17:04:22 +00:00
2026-09-15 10:59:34 +02:00
2026-05-26 15:49:31 -07:00
2026-08-09 10:25:06 +00:00
2026-08-24 18:26:10 +00:00
2026-08-21 07:28:23 +00:00
2026-05-26 15:49:31 -07:00
2026-08-17 20:30:24 +00:00
2026-05-26 15:49:31 -07:00
2026-08-17 20:30:24 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2022-09-02 15:18:23 -04:00
2026-05-26 15:49:31 -07:00
2026-08-08 13:53:28 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-09-02 17:07:04 +00:00
2026-09-12 11:56:25 +00:00
2026-09-02 17:36:22 +00:00
2026-09-08 15:59:06 +00:00
2026-07-11 19:36:10 +02:00
2026-07-20 16:07:38 +00:00
2026-08-22 08:59:37 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-09-16 12:30:22 +02:00
2026-08-10 01:25:31 +00:00
2026-05-26 15:49:31 -07:00
2026-06-08 17:16:22 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-23 06:59:58 +00:00
2026-06-17 16:06:51 +00:00
2026-05-26 15:49:31 -07:00
2026-08-17 07:59:41 +00:00
2026-05-26 15:49:31 -07:00
2026-08-05 00:17:07 +08:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-07 20:56:40 -07:00
2026-08-03 06:41:27 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-18 04:02:52 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-27 16:34:44 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-09-12 08:15:23 +00:00
2026-08-17 18:17:16 +00:00
2026-08-10 01:25:31 +00:00
2026-05-26 15:49:31 -07:00
2026-05-26 15:49:31 -07:00
2026-08-07 00:11:34 +00:00
2026-06-06 11:06:08 +00:00
2026-06-11 17:12:30 +00:00