Skip to content

Commit 57de277

Browse files
apply suggestions
1 parent 7381098 commit 57de277

1 file changed

Lines changed: 22 additions & 7 deletions

File tree

docs/migrate-to-3.md

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,31 @@ GOTIFY_SERVER_RESPONSEHEADERS={"X-Custom-Header":"custom value"}
8383
### Token Format Redesign
8484

8585
Introduces an EdDSA based token validation scheme to prevent storing plaintext token in database
86-
and create potential for fulfilling more feature requests related to security and authentication.
86+
and create potential for future authentication methods.
8787
See [#325](https://github.com/gotify/server/issues/325).
8888

89+
This also means to align with secure API design principles,
90+
tokens will no longer be returned via the API or WebUI except when the token is issued via creation or rotation.
91+
Workflows dependent on introspecting existing clients or applications for their token will stop working.
92+
93+
::: tip
94+
The post message endpoint now accepts an "appid" parameter, which allows clients
95+
to impersonate applications they control without knowing the corresponding application token.
96+
:::
97+
8998
Tokens for existing applications can now be rotated via the _application security update_ endpoint.
9099

91100
Existing tokens (starting with `A` and `C`) will continue to work.
92101
Plugin tokens (starting with `P`) used to access web resources are not affected by this change.
93102

94-
Custom tokens created by manually modifying database entry may cease to work upon upgrading,
103+
Custom tokens created by manually modifying database entries may cease to work upon upgrading,
95104
in such case please rotate tokens or recreate the corresponding client/application entry.
96105

106+
Client tokens cannot be rotated at initial release, but this may become possible in the future
107+
without a major version bump.
108+
Workflows should also not assume a one-to-one relationship between tokens and their corresponding entity,
109+
as future versions may include signature-based, scoped, encryption-based and other token-passing methods.
110+
97111
### Step-up Authentication
98112

99113
Introduces step-up authentication via time-limited [session
@@ -116,13 +130,14 @@ With a non-elevated client token these return `403`:
116130
The `Client` and `CurrentUser` models have gotten elevation-related fields. See the
117131
[API documentation](/api-docs) for details.
118132

119-
### Adapting your scripts
133+
::: tip
134+
135+
To update your workflow that uses the endpoints above with a client token. Perform a separate elevation process before the call. Either:
120136

121-
Scripts that hit the endpoints above with a client token now need that token to
122-
be elevated. Either:
137+
- Transitition to use HTTP Basic auth as they are elevated by default.
138+
- Elevate the client in the WebUI or the api with basic auth before calling these APIs.
123139

124-
- Use HTTP Basic auth as they are elevated by default.
125-
- Elevate the client in the WebUI or the api with basic auth.
140+
:::
126141

127142
## CLI Changes
128143

0 commit comments

Comments
 (0)