Trong Huu Nguyen
79ac15d455
feat(otel): consistency passthrough for spans and attributes
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-30 14:03:39 +01:00
Sindre Rødseth Hansen
07b542a2f5
feat(openid/error): add spans and attributes
...
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-30 14:03:39 +01:00
Sindre Rødseth Hansen
dd0373b72d
feat(openid/client): add spans and attributes
...
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-30 14:03:38 +01:00
Trong Huu Nguyen
787b54beeb
refactor(crypto): move to internal
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-30 14:03:36 +01:00
Sindre Rødseth Hansen
ca77435d6a
feat(http): propagate traceparent for httpclient
...
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-30 14:03:30 +01:00
Trong Huu Nguyen
9c8055bcd6
feat(openid/client): fall back to default value for invalid parameter values
...
Instead of erroring when receiving non-empty, invalid parameters, we fall back to
the configured (if any) default value for the identity provider, which
is already validated with its metadata document on start-up.
This prevents end-users from being exposed to unnecessary errors.
2025-01-27 08:44:07 +01:00
Sindre Rødseth Hansen
c07077a148
refactor: extract method for making authCodeURL
...
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-24 10:02:15 +01:00
Trong Huu Nguyen
c147a5a19e
refactor(openid): extract request params for remaining grants, minor cleanups
2025-01-24 08:07:54 +01:00
Trong Huu Nguyen
062e7b09ce
fix(openid/client): prompt parameter is optional
2025-01-24 08:07:54 +01:00
Trong Huu Nguyen
0b32d8839c
test(openid/client): add negative assertions for unwanted parameters
2025-01-24 08:07:52 +01:00
Trong Huu Nguyen
110dd64750
refactor(openid/client): extract authorization code parameters
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-23 12:03:42 +01:00
Trong Huu Nguyen
642457b950
refactor(openid/client): extract oauth request method
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-23 10:17:13 +01:00
Sindre Rødseth Hansen
ade44f0950
refactor: remove indirection layer for login client
...
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-23 08:48:32 +01:00
Sindre Rødseth Hansen
c442000be4
feat: implement PAR for relying party
...
Fixes #235
Co-authored-by: tronghn <trong.huu.nguyen@nav.no >
2025-01-23 08:48:32 +01:00
Trong Huu Nguyen
6be5a1ebe5
wip: implement PAR for relying party
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-23 08:48:32 +01:00
Trong Huu Nguyen
64e9167e05
refactor(openid/client): remove indirection layer for login callback
...
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-21 09:39:23 +01:00
Trong Huu Nguyen
75f98debc5
feat(openid/client): validate iss parameter if provider declares authorization_response_iss_parameter_supported
...
Fixes #306 .
Co-authored-by: sindrerh2 <sindre.rodseth.hansen@nav.no >
2025-01-21 09:39:21 +01:00
Trong Huu Nguyen
5c63a2a743
refactor(openid/client): inline unnecessary variables
2024-11-05 22:15:48 +01:00
Trong Huu Nguyen
b7b43e9793
refactor(openid): remove more indirection layers
2024-11-05 21:58:38 +01:00
Trong Huu Nguyen
6b46d57422
refactor(openid): consolidate validation and verification of id_tokens
...
Also remove some indirection layers.
2024-11-05 21:10:44 +01:00
Trong Huu Nguyen
df5c78b821
feat(openid/client): add support for the client_secret_post authentication method
2024-10-08 09:19:38 +02:00
Trong Huu Nguyen
1906024da0
feat(openid/acr): remove old values and backward compatibility for new idporten
...
We no longer expect nor accept tokens with old acr values during
validation as ID-porten no longer issues tokens with these values.
This also removes backward compatibility in cases where configured
values targeted the new ID-porten while using old ID-porten.
We still maintain an internal mapping from old values to new values
for forward compatibilty when using old values provided in the login
parameter and the `openid.acr-values` flag.
2024-06-27 12:34:16 +02:00
Trong Huu Nguyen
e00832016b
feat(handler/login): remove legacy cookie
...
We don't really need to set an additional cookie without SameSite
as we now use SameSite=Lax for the login cookie.
2023-12-19 08:46:08 +01:00
Trong Huu Nguyen
a10da5d0d7
feat(handler/login): add support for prompt param in login
2023-12-19 08:46:01 +01:00
Trong Huu Nguyen
f246fc7975
refactor(openid): move acr to own package
2023-10-11 14:25:12 +02:00
Trong Huu Nguyen
af6642fe90
refactor(openid): use pkce implementation from golang.org/x/oauth2
2023-10-10 10:18:01 +02:00
Trong Huu Nguyen
46852be025
feat(openid): prepare acr mappings for migration to new idporten
2023-05-25 15:54:29 +02:00
Trong Huu Nguyen
b28c91c94c
perf(all): use single Transport, set IdleConnTimeout
...
Reduces IdleConnTimeout to 5 seconds. Reverse proxying to a server that
has a shorter keep-alive may cause "EOF" and "connection reset by peer"
issues as the connections may be closed by the upstream before our
client notices.
2023-05-16 08:36:45 +02:00
Trong Huu Nguyen
0c531d9ec1
perf: increase max idle connections for http clients
2023-05-04 14:45:45 +02:00
Trong Huu Nguyen
6151aa3279
feat(openid, handler): support runtime override of redirect after single-logout
...
Fixes #100 .
2023-05-04 14:45:13 +02:00
Trong Huu Nguyen
2a0c376c4b
feat(openid): validate acr in id_token if sent in auth request
2023-04-29 10:27:23 +02:00
Trong Huu Nguyen
19095ccfea
feat(openid): store acr in state cookie
2023-04-29 09:09:02 +02:00
Trong Huu Nguyen
47218da6d2
refactor(openid): simplify parameter handling for auth url
2023-04-18 11:16:50 +02:00
Trong Huu Nguyen
27897dad63
refactor(handler/standalone): use new sessionmanager, remove unneeded methods
2023-02-21 14:16:51 +01:00
Trong Huu Nguyen
fb28da7241
refactor: consolidate handlers
2023-02-16 10:55:50 +01:00
Trong Huu Nguyen
473e4a95a7
refactor: remove loginstatus
...
Loginstatus is no longer needed with the SSO setup.
Fixes #50 .
2023-02-10 14:58:17 +01:00
Trong Huu Nguyen
42dcba8367
refactor: replace relative canonical redirect with handler
...
This also ensure that we clean any urls that may stem from user input (e.g.
url parameter or login cookie) before performing redirects.
2023-02-10 14:58:14 +01:00
Trong Huu Nguyen
5f74ee08bc
refactor(url): extract utility functions
2023-02-10 14:58:12 +01:00
Trong Huu Nguyen
0e73c9b4d8
refactor(mock): configure relying party ingress before server start
2023-02-10 14:58:11 +01:00
Trong Huu Nguyen
ed56aac3d0
style: follow conventions for error variable names
2022-09-19 08:41:23 +02:00
Trong Huu Nguyen
d718c36595
style(openid/client): remove unused struct field
2022-09-19 08:41:20 +02:00
Trong Huu Nguyen
7f93c62604
fix(openid/client): handle missing redirect uri for callbacks
2022-09-09 12:31:17 +02:00
Trong Huu Nguyen
3f24537b36
fix(openid/client): set iat for assertion in the past to alleviate clock skew
2022-09-06 08:46:35 +02:00
Trong Huu Nguyen
c0138f4b49
feat(session): use locks for refreshing
...
One of the changes in OAuth 2.1 addresses attacks with refresh token
replays by recommending the use of one-time use tokens. A refresh token
is thus rotated and invalid after exactly one use, returning a new token
for each successful grant. Any further attempts must thus use the most
recently acquired refresh token. Reusing a refresh token may also
cause the authorization server to invalidate the current active refresh
token, requiring a refresh authorization grant to be reacquired for
further refresh token usage.
The use of locks prevents multiple refresh grant attempts for a given
session from happening across concurrent requests.
2022-09-04 17:14:35 +02:00
Trong Huu Nguyen
08eefbf1d5
refactor(openid): clean up client and provider
2022-09-02 18:08:36 +02:00
Trong Huu Nguyen
92ee6313c5
refactor: remove unnecessary interfaces
2022-09-02 17:39:27 +02:00
Trong Huu Nguyen
c8f48335d4
refactor(openid/config): extract getter for ingresses
2022-09-02 15:17:36 +02:00
Trong Huu Nguyen
9144056e28
refactor(handler): split up request handlers into separate modules
2022-09-02 14:53:11 +02:00
Trong Huu Nguyen
d5bbca9897
feat: rudimentary support for refresh tokens
2022-08-26 14:32:39 +02:00
Trong Huu Nguyen
cafebabea5
fix(openid/client): set redirect_uri param when redeeming auth code
2022-08-23 08:27:34 +02:00