Skip to content

Releases: curveball/a12n-server

0.25.2

01 Dec 21:02
0a64313
Compare
Choose a tag to compare

Fixed result of one-time-token if a custom expiry was used.

0.25.1

01 Dec 18:13
b59a3b3
Compare
Choose a tag to compare
  • Clients can now specify how long a one-time-token should be valid for.
  • API clients can now request that one-time-tokens don't expire after use.
  • The client_id is now validated to belong to the curent user when validating one-time-tokens.

v0.25.0

22 Nov 00:32
de0d0e5
Compare
Choose a tag to compare
  • Added two privileges for one-time-token use: a12n:one-time-token:generate and a12n-one-time-token:exchange, these both required the admin privilege. Theres no bc break here as the original admin privilege still covers these new ones.
  • It wasn't possible to see a full principal even if a user had a12n:principal:list privilege.
  • Added new privilege for changing passwords: a12n:user:change-password.
  • Introspection endpoint now returns the exp, sub, aud and iss properties.
  • Now returning a 422 for invalid passwords instead of 500.

v0.24.0

09 Nov 10:32
1f3c938
Compare
Choose a tag to compare

New major release! 0.24 introduces some breaking changes, which may affect you:

  • REDIS_HOST, REDIS_PORT, REDIS_USERNAME and REDIS_PASSWORD are now deprecated. Instead, you must use a singular REDIS_URI environment variable that takes the form redis://[username]:[passsword]@[host]:[port].
  • /group/x/member endpoints has been removed. These have been marked as deprecated 2.5 years earlier. If you still depended on this endpoint, all the related information can be found on the /group/x endpoint. This endpoint also has operations for modifying the members list.
  • By default this server will no longer allow new users and apps to see the full list of other users, groups and apps. Any applications relying on this behavior need to give the relevant users the a12n:principals:list privilege. To get the old behavior, simply add this privilege to the new $all group. An privileges added to this group are automatically applied to every user in the system.

Changes since last alpha release:

  • Upgrade to Redis 4.
  • Improve user audit logging for various OAuth2 flows.
  • Use SQLite3 WAL mode for better concurrency.

v0.24.0-alpha.1

05 Oct 18:44
52edd3a
Compare
Choose a tag to compare
v0.24.0-alpha.1 Pre-release
Pre-release
  • The Docker distribution now runs on Node 20 (upgraded from 16).
  • Fixed a 500 error in the OAuth2 password flow.
  • Updated to simplewebauthn 8.

v0.24.0-alpha.0

04 Oct 23:27
522ecb8
Compare
Choose a tag to compare
v0.24.0-alpha.0 Pre-release
Pre-release
  • Update to curveball 0.21
  • Refactored the privilege system to make internally easier to use. There should be no end-user effects to this.
  • Added a system group principal , which allows admins to set privileges for every user in the system.
  • Fix Sqlite startup warning.
  • The /group/x/members collection and associated operations and links have been removed. This endpoint had been marked deprecated in version 0.19 in May 2021 and is now finally removed. If you still depended on this endpoint, all the related information can be found on the /group/x endpoint. This endpoint also has operations for modifying the members list.
  • By default this server will no longer allow new users and apps to see the full list of other users, groups and apps. Any applications relying on this behavior need to give the relevant users the a12n:principals:list privilege. To get the old behavior, simply add this privilege to the new $all group.
  • When a user goes from login to registration, the "continue" link will be remembered.
  • The 'password' flow now also tracks apps that are granted access to user accounts
  • When using the Redis session backend, CSRF tokens would not get stored correctly, causing some browser operations to fail.
  • a12n-server will now report a better process name in linux process lists.
  • The server now picks up the CURVEBALL_ORIGIN environment variable.

v0.23.1

29 Mar 18:48
540f80f
Compare
Choose a tag to compare
  • Fix 500 error on /authorize endpoint when using Sqlite
  • Fix CSRF error on create user form

v0.23.0

12 Jan 06:26
4552837
Compare
Choose a tag to compare

The main reason this was released was due to a very scary Knex SQL injection bug that affects MySQL users.

Other changes and new features:

  • 'scope' wasn't supported yet correctly in the authorization_code and implicit flows.
  • Fixed some bugs in the 'active sessions' report, and add columns for grant_type, and scope.
  • Common types, such User, App, Group types have been moved to src/types.ts for easier access.
  • We're now keeping track of which scopes were granted to which apps per user.
  • Support for RFC 9068: A standard format for JWT OAuth2 Access Tokens.
  • Centralize CSRF token handling (for old browsers).
  • Added a new 'add privilege' action, which is helpful for API clients.
  • Fix bug: Incorrect url in Location header when creating a new user.
  • #448: Fix 'create group' form.

v0.22.0

27 Sep 21:08
e72873a
Compare
Choose a tag to compare

Warning note for upgraders. This release has a database migration on the oauth2_tokens table. For most users this is the largest table, some downtime may be expected while the server runs its migrations.

  • #425: Using a client_secret is now supported with authorization_code, and it's read from either the request body or HTTP Basic Authorization header.
  • The service now keeps track when issuing access tokens, whether those tokens have used a client_secret or not, which grant_type was used to issue them and what scopes were requested. This work is done to better support OAuth2 scopes in the future, and eventually OpenID Connect.
  • Fixed broken 'principal uri' in introspection endpoint response.
  • OAuth2 service is almost entirely rewritten.
  • The number of tokens issued is now displayed on the home page.
  • Large numbers are now abbreviated with K and M.
  • #426: Updated to Curveball 0.20.
  • #427: Typescript types for the database schema are now auto-generated with mysql-types-generator.

v0.21.3

10 Aug 01:29
b6492a4
Compare
Choose a tag to compare
  • It's now possible to generate a URI that completely takes a developer through the setup process for creating an OAuth2 client, with all values pre-filled. This makes it very easy for a developer to get their environment up and running without having to know all kinds of OAuth2 details (@AminDhouib).
  • Fixed getting no feedback after changing group members. (@AminDhouib)
  • Fixed the 'authenticated-as' link in the a12n-server home document; it had an extra slash.
  • If you hit an authenticated page after login, you are now redirected back to that page after login.
  • The /register endpoint can now take a ?continue= uri parameter, making it possible to redirect back to any application after registering.