Commit graph

202 commits

Author SHA1 Message Date
Firstyear 5562625d75
cookies don't clear unless you set domain (#3332)
* make everything cookie consistent
* Stricter on expiry
* Relearn a painful lesson about needing domains in removal cookies
* fix: DRY cookie creation code and reduce the sins
2025-01-04 00:33:01 +00:00
Firstyear 226274da23
20250102 freebsd client (#3333)
Support freebsd as a unix client
2025-01-04 09:22:44 +10:00
William Brown c59f560e50 Re-add enrol another device flow
This was a commonly requested re-addition to the new webui. This
adds the ability for someone to scan a qr code or follow a link
to enrol another device to their account.
2024-12-19 13:48:59 +10:00
William Brown 11438a9dd5 Improved Cookie Removal
If a path isn't set then cookies aren't removed. More aggressively
remove cookies when they are no longer required.
2024-12-19 13:48:59 +10:00
Firstyear 7e9c33ab03
Limit OAuth2 resumption to session (#3296)
OAuth2 session resumption was accidentally made a permanent cookie
which led to continuing issues with it causing invalid redirections
after login. Make this a session only cookie.
2024-12-17 11:37:16 +10:00
Firstyear 6c3b8500a2
Use specific errors for intent token revoked (#3291)
Rather than the generic 'invalid state' error, we now return
proper site-specific errors for credential commit failures, with
error messages to explain what went wrong.
2024-12-16 10:28:00 +10:00
Firstyear 5d75c9b247
Autocomplete password during reauth with TOTP (#3290)
During a re-auth flow, the password was not autocompleted once
totp was autocompleted. This is because in a normal login flow
the autocomplete is performed on the first login.html page,
but in a re-auth we skip that page.

This adds the proper handling to allow the pw to autofill
in the background once the TOTP is completed.
2024-12-15 23:43:29 +00:00
Firstyear 5dfba2a0ef
Add CORS headers to jwks and userinfo (#3283)
When using jwks from a single page application, the keys and
userinfo were unable to be retrieved due to missing cors headers.
2024-12-13 00:23:54 +00:00
Firstyear 9b3350f753
Cleanup of println and other outputs (#3266) 2024-12-04 15:13:14 +10:00
James Hodgkinson 388ed679a8
Check DNS on replication loop start not at task start (#3243) 2024-12-03 03:58:16 +00:00
Firstyear 809cacdb85
Resolve UI Auth Loop with OAuth2 (#3226)
If an OAuth2 auth request resume cookie was present, and at the same
time the kani instance was restarted, the cookie would now fail
to validate on the instance. This caused the user to experience an auth
loop where after every authentication they would see an error *despite*
logging in correctly, and then a refresh would show the correct
apps page.

This removes the auth_req cookie correctly even if it fails to
deserialise.
2024-11-21 09:29:35 +00:00
Firstyear 7348c0348a
Improve warning around invalid JWT deserialisation (#3224)
* Improve warning around invalid JWT deserialisation

* typo
2024-11-21 06:52:43 +00:00
Firstyear dfbcfa865f
UI/Feature polish (#3191)
Post release some small user issues arose

* Optimise the autofocus for logins with passkeys to limit clicks
* Sort login mechs by strength
* Fix cookies to persist between browser restarts
2024-11-10 04:02:27 +00:00
Firstyear fbbe10e295
Correct missing CSP header (#3177) 2024-11-05 14:48:11 +10:00
Firstyear ce31abeeb0
Improve OAuth2 authorisation ux (#3158)
- Resolve an issue where oauth2 could trigger the login page to
  incorrectly redirect to an oauth2 application instead of apps
- Add indication of what client application we are accessing
  if the session is not yet authenticated
2024-10-29 04:56:28 +00:00
Firstyear 2e6d940691
Remove WASM (#3148)
liberal party took over, more cuts
2024-10-26 17:19:13 +10:00
Wei Jian Gan bc55313d87
Harmonize UI and remove unused css (#3033)
-------

Co-authored-by: Wei Jian Gan <wg@danicapension.dk>
Co-authored-by: William Brown <william@blackhats.net.au>
2024-10-26 04:47:44 +00:00
James Hodgkinson 5a709520dc
OAuth2 Device flow foundations (#3098) 2024-10-26 12:08:48 +10:00
Firstyear b0824fef18
htmx by default (#3145)
* htmx by default

* restore the webmanifest

* fixing unused import

---------

Co-authored-by: James Hodgkinson <james@terminaloutcomes.com>
2024-10-26 01:44:00 +00:00
Firstyear d2ae2ca206
20241024 1271 cert reload on SIGHUP (#3140)
reload certificates and keys on SIGHUP
2024-10-25 00:01:30 +00:00
James Hodgkinson bbe9ad1a06
yale's rabbit-hole-chasing-htmx-fixing-megapatch (#3135) 2024-10-23 16:04:38 +10:00
Firstyear 31420c3ff9
ipinfo should be single value (#3137) 2024-10-23 02:39:40 +00:00
Firstyear 48cd6638fe
Tidy the reauth ui (#3130)
* Tidy the reauth ui
2024-10-23 11:59:05 +10:00
George Wu 8b4d0d6ead
Add missing schemas to get OpenAPI validation to pass. (#3129) 2024-10-22 08:27:37 +10:00
George Wu 7eb54be487
Change some OperationError into HTTP Bad Request (400). (#3125) 2024-10-21 02:57:23 +00:00
George Wu 57aeeb5f94
Fill in some Swagger API docs for a few v1 endpoints. (#3126) 2024-10-20 07:56:34 +00:00
Merlijn 5064712fe6
Fix passkey auth flow redirects (#3123)
* Fix passkey auth flow redirects
* Handle webauthn error
2024-10-20 09:24:41 +10:00
George Wu a0944b8601
Log HTTP Not Found (404) as info log level. (#3119) 2024-10-19 07:00:29 +00:00
Firstyear 5a3e5f1e07
20241017 3107 token ttl (#3114) 2024-10-18 03:28:52 +00:00
James Hodgkinson b96eceb205
fix(lint) minor lint fix for unnecessary match use (#3118)
sorry clippy I'm a better lintyboi naow
2024-10-17 23:27:49 +00:00
Firstyear 2075125439
Working scim entry get for person (#3088) 2024-10-15 04:29:45 +00:00
James Hodgkinson c8b3b6214c
Cache buster buster (#3091) 2024-10-15 01:54:46 +00:00
James Hodgkinson 6b48054a2e
fix(http): status content type should be JSON (#3096) 2024-10-15 01:28:07 +00:00
Merlijn 4e125b5043
Scim add EntryReference (#3079)
Allow references to be displayed as a complex object
2024-10-10 00:13:45 +00:00
Firstyear 131ff80b32
20240921 ssh keys and unix password in credential update session (#3056) 2024-10-03 05:57:18 +00:00
Firstyear cc662f184a
20240925 cleanups (#3060) 2024-10-03 14:04:02 +10:00
CEbbinghaus d109622d71
Make good on some TechDebt (#3084)
adds MissingClass & MissingAttribute OperationError kinds to more strongly type our error messages.
2024-10-03 10:48:28 +10:00
James Hodgkinson 4cbec48307
More openapi tweaks (#3038) 2024-09-17 13:01:54 +10:00
Firstyear d3891e301f
20240810 SCIM entry basic (#3032) 2024-09-12 12:53:43 +10:00
Firstyear 938ad90f3b
20240906 Attribute as an Enum Type (#3025)
Changes attribute from a string to an enum - this provides many performance improvements and memory savings throughout the server.
2024-09-09 00:53:10 +00:00
Wei Jian Gan 72393996a7
Credentials page/Self cred update flow UI improvements (#3012) 2024-09-07 14:56:58 +10:00
Firstyear 95fc6fc5bf
20240828 Support Larger Images, Allow Custom Domain Icons (#3016)
Allow setting custom domain icons.
2024-09-05 04:19:27 +00:00
Firstyear 0fac1f301e
20240820 SCIM value (#2992)
Add the basics of scim value serialisation to entries.
2024-08-29 11:38:00 +10:00
James Hodgkinson 0e352cf47c
fix(webui): Javascript errors after server-side update blocking login. Fixed after cache invalidating (#3011) 2024-08-28 13:07:14 +10:00
James Hodgkinson 3eae7be0bb
OAuth2 Token Type (#3008)
* fix(OAuth2): Invalid `token_type` for token introspection
Fixes #3005

* fix(aut): `assert_eq` instead of `assert ==`

* fix(OAuth2): IANA registry access token types

* fix(OAuth2): deserialize case insensitively
2024-08-25 23:30:20 +00:00
Merlijn 87b20d22d1
feat: self cred update flow (#2995) 2024-08-23 04:05:32 +00:00
James Hodgkinson 7c3deab2c4
enforcen den clippen (#2990)
* enforcen den clippen
* updating outdated oauth2-related docs
* sorry clippy, we tried
2024-08-21 00:32:56 +00:00
Firstyear 239f4594dd
20240810 application passwords (#2968)
Add the server side components for application passwords. This adds the needed datatypes and handling via the ldap components.

Admin tools will be in a follow up PR. 

Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Co-authored-by: Samuel Cabrero <scabrero@suse.de>
2024-08-20 06:44:37 +00:00
dependabot[bot] 9f4cc984db
Bump the all group with 17 updates (#2986)
* Bump the all group with 17 updates


| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.15` | `4.5.16` |
| [clap_complete](https://github.com/clap-rs/clap) | `4.5.14` | `4.5.18` |
| [concread](https://github.com/kanidm/concread) | `0.5.2` | `0.5.3` |
| [js-sys](https://github.com/rustwasm/wasm-bindgen) | `0.3.69` | `0.3.70` |
| [ldap3_client](https://github.com/kanidm/ldap3) | `0.5.0` | `0.5.1` |
| [ldap3_proto](https://github.com/kanidm/ldap3) | `0.5.0` | `0.5.1` |
| [libc](https://github.com/rust-lang/libc) | `0.2.155` | `0.2.157` |
| [lodepng](https://github.com/kornelski/lodepng-rust) | `3.10.4` | `3.10.5` |
| [serde](https://github.com/serde-rs/serde) | `1.0.206` | `1.0.208` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.124` | `1.0.125` |
| [syn](https://github.com/dtolnay/syn) | `2.0.74` | `2.0.75` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.39.2` | `1.39.3` |
| [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) | `0.2.92` | `0.2.93` |
| [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen) | `0.4.42` | `0.4.43` |
| [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) | `0.3.42` | `0.3.43` |
| [web-sys](https://github.com/rustwasm/wasm-bindgen) | `0.3.69` | `0.3.70` |
| [tower](https://github.com/tower-rs/tower) | `0.4.13` | `0.5.0` |


Updates `clap` from 4.5.15 to 4.5.16
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.15...clap_complete-v4.5.16)

Updates `clap_complete` from 4.5.14 to 4.5.18
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.14...clap_complete-v4.5.18)

Updates `concread` from 0.5.2 to 0.5.3
- [Commits](https://github.com/kanidm/concread/commits)

Updates `js-sys` from 0.3.69 to 0.3.70
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `ldap3_client` from 0.5.0 to 0.5.1
- [Changelog](https://github.com/kanidm/ldap3/blob/master/RELEASE_NOTES.md)
- [Commits](https://github.com/kanidm/ldap3/commits)

Updates `ldap3_proto` from 0.5.0 to 0.5.1
- [Changelog](https://github.com/kanidm/ldap3/blob/master/RELEASE_NOTES.md)
- [Commits](https://github.com/kanidm/ldap3/commits)

Updates `libc` from 0.2.155 to 0.2.157
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.157/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.155...0.2.157)

Updates `lodepng` from 3.10.4 to 3.10.5
- [Commits](https://github.com/kornelski/lodepng-rust/compare/v3.10.4...v3.10.5)

Updates `serde` from 1.0.206 to 1.0.208
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.206...v1.0.208)

Updates `serde_json` from 1.0.124 to 1.0.125
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.124...1.0.125)

Updates `syn` from 2.0.74 to 2.0.75
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.74...2.0.75)

Updates `tokio` from 1.39.2 to 1.39.3
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.39.2...tokio-1.39.3)

Updates `wasm-bindgen` from 0.2.92 to 0.2.93
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.92...0.2.93)

Updates `wasm-bindgen-futures` from 0.4.42 to 0.4.43
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `wasm-bindgen-test` from 0.3.42 to 0.3.43
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `web-sys` from 0.3.69 to 0.3.70
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `tower` from 0.4.13 to 0.5.0
- [Release notes](https://github.com/tower-rs/tower/releases)
- [Commits](https://github.com/tower-rs/tower/compare/tower-0.4.13...tower-0.5.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: clap_complete
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: concread
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: js-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: ldap3_client
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: ldap3_proto
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: lodepng
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: wasm-bindgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: wasm-bindgen-futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: wasm-bindgen-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: web-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: tower
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>

* updates to source/packages

* making the nightly build happy

* making the nightly build happy

* making the nightly build happy

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: James Hodgkinson <james@terminaloutcomes.com>
2024-08-19 23:22:23 +10:00
Wei Jian Gan d1e5426de2
[HTMX] small profile improvements (#2974) 2024-08-16 02:29:43 +00:00