Joshua Casey
18d3ab3d15
The 'HTTP Request Parameters' audit event now logs params as a JSON object
2024-11-27 13:53:01 -06:00
Joshua Casey
dc6faa33bb
Log params to token_handler endpoint even during error cases
2024-11-27 13:53:01 -06:00
Joshua Casey
362d982906
Start to backfill some audit unit tests for the token_handler
2024-11-27 13:53:01 -06:00
Ryan Richard and Joshua Casey
1006dd9379
resolve some todos
2024-11-27 13:53:01 -06:00
Joshua Casey
369316556a
Add configuration to audit internal endpoints and backfill unit tests
2024-11-27 13:53:01 -06:00
Joshua Casey
cf4b29de4b
Clarify docs
2024-11-27 13:53:00 -06:00
Joshua Casey
09ca7920ea
Extract testutil helper function
2024-11-27 13:53:00 -06:00
Joshua Casey
9994e033b2
Add audit event tests for login_handler
2024-11-27 13:53:00 -06:00
Joshua Casey
dd56f2b47f
Add audit event tests for callback_handler
2024-11-27 13:53:00 -06:00
Joshua Casey
dd42f35db0
plog.TestLogger returns a buffer that holds the logs
...
# Conflicts:
# internal/controller/apicerts/certs_expirer_test.go
# internal/plog/plog_test.go
# internal/plog/testing.go
# pkg/oidcclient/login_test.go
2024-11-27 13:53:00 -06:00
Joshua Casey
a67af9455b
Refactor: don't copy the loop variable in test loops
2024-11-27 13:53:00 -06:00
Joshua Casey
d729c82f84
fix lint
2024-11-27 13:53:00 -06:00
Joshua Casey and Ryan Richard
44e218194b
Add 'AuthorizeID From Parameters' audit logs to the /callback and /login endpoints
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:00 -06:00
Joshua Casey
bf1e37f149
Use a helper to verify audit messages
2024-11-27 13:53:00 -06:00
Joshua Casey and Ryan Richard
aee56c388f
Check the sessionID as well
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-11-27 13:53:00 -06:00
Joshua Casey
fd5a10bee7
WIP: Add audit event when upstream redirect occurs and backfill tests
2024-11-27 13:53:00 -06:00
Ryan Richard and Joshua Casey
4f9530eec7
audit logging WIP
2024-11-27 13:53:00 -06:00
Joshua Casey
08abff1cae
Bump golanglint-ci to 1.60.3
2024-09-04 20:52:01 -05:00
Ryan Richard
f194594e5b
failed token exchanges should show in log at default log config
2024-08-22 10:09:19 -07:00
Ryan Richard
e5cfa521da
remove unnecessary warning log message
...
This message is not needed because the IDP chooser page will take
care of the case where a browser-based authorization flow did not
request any specific IDP. For browserless flows (only allowed for
the `pinniped-cli` client), the client must request a specific IDP
(except in backwards-compatibility mode) because there is no browser
in which to show the IDP chooser page. Failing to request a specific
IDP in a browserless flow will result in a helpful error message
being returned.
2024-07-10 09:32:23 -07:00
Ryan Richard
0380a9ce33
upgrade github.com/go-jose/go-jose and github.com/coreos/go-oidc
...
Also standardize some related imports and fix some whitespace in a test
2024-06-21 11:16:40 -07:00
Joshua Casey
678be9902a
Lint new files from the GitHub branch
2024-06-11 10:16:18 -05:00
Joshua Casey
bafd578866
Merge branch 'main' into jtc/add-importas-linter
2024-06-11 09:39:48 -05:00
Joshua Casey and Ryan Richard
58b4ecc0aa
user sees error msg when GitHub login is denied due to allowed orgs
...
Also renamed an interface function from GetName to GetResourceName.
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-06-03 10:56:28 -07:00
Ryan Richard
bb9cb739c6
more unit tests for github in token_handler_test.go
2024-05-29 08:55:41 -07:00
Joshua Casey
cc8d637715
Fix lint
2024-05-28 20:33:55 -05:00
Joshua Casey and Ryan Richard
d3fb567fdb
Add callback_handler tests for GitHub+IdentityTransformations
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 15:59:52 -05:00
Joshua Casey and Ryan Richard
8b1e5aa320
Add callback_handler tests to confirm GitHub with downstream form_post and GitHub with an error case
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 15:17:04 -05:00
Joshua Casey and Ryan Richard
37e654faa0
bunch of renames
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-28 13:41:52 -05:00
Ryan Richard
f323690049
refactor upstream refresh test helpers to be more specific to IDP type
2024-05-23 13:35:31 -07:00
Joshua Casey
02ffff01d5
fix lint
2024-05-23 12:32:18 -05:00
Joshua Casey
65682aa60d
Add sample unit test for GitHub in token_handler_test.go
2024-05-22 23:04:15 -05:00
Ryan Richard and Joshua Casey
0a15d488c8
Merge callback_handler_github_test.go into callback_handler_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-22 21:21:45 -05:00
Ryan Richard and Joshua Casey
49c468f00a
Add GetUser() interface and implement LoginFromCallback() for GitHub
...
ALso fixed some of the GitHub test helpers
2024-05-22 21:21:45 -05:00
Joshua Casey and Ryan Richard
b7f79f0adc
Add github-specific tests in callback_handler_github_test.go
...
Co-authored-by: Ryan Richard <richardry@vmware.com >
2024-05-22 21:21:45 -05:00
Joshua Casey
fe911a7b7a
Prefer slices package and slices.Concat where possible
2024-05-21 09:31:16 -05:00
Joshua Casey
f5116cddb4
Enable 'makezero' and 'prealloc' linters, and require 'any' instead of 'interface{}'
...
Enforce importas:
- go.pinniped.dev/generated/latest/apis/supervisor/config/v1alpha1
- go.pinniped.dev/generated/latest/apis/supervisor/idp/v1alpha1
2024-05-21 09:31:15 -05:00
Joshua Casey
e9252a9ee3
Enforce more imports
...
- k8s.io/apimachinery/pkg/apis/meta/v1
- k8s.io/api/core/v1
- github.com/coreos/go-oidc/v3/oidc
- github.com/ory/fosite/handler/oauth2
- go.pinniped.dev/generated/latest/apis/concierge/authentication/v1alpha1
2024-05-21 09:31:15 -05:00
Joshua Casey
e4daa5a924
Merge branch 'main' into jtc/merge-main-at-3fe3cf71-into-github
2024-05-16 16:05:34 -05:00
Joshua Casey
a86d7d27c1
Add pinniped_supported_identity_provider_types to the IDP discovery endpoint
2024-05-16 12:55:45 -05:00
Joshua Casey
791b785dea
Merge branch 'main' into jtc/merge-main-at-d7849c79-to-github
2024-05-10 14:22:09 -05:00
Joshua Casey
7b36c8ab54
Enable 'copyloopvar' linter
2024-05-10 12:51:02 -05:00
Ryan Richard and Joshua Casey
0cdbb710d2
add test for github redirect in auth_handler_test.go
...
Co-authored-by: Joshua Casey <joshuatcasey@gmail.com >
2024-05-09 15:35:37 -07:00
Benjamin A. Petersen
c43193a0c8
Merge branch 'main' into github_identity_provider
2024-05-01 12:15:08 -04:00
Benjamin A. Petersen
e3aa495e0b
Update idp discovery handler test
2024-04-25 17:02:06 -04:00
Ryan Richard
57a07a498f
Refactors for custom ID token lifetime based on PR feedback
2024-04-24 15:05:00 -07:00
Ryan Richard
a1efcefdce
Unit tests for token endpoint for custom ID token lifetimes
2024-04-24 14:13:41 -07:00
Joshua Casey and Ryan Richard
c8bc192e0b
Start working on units tests for configurable token lifetimes
2024-04-24 14:13:40 -07:00
Ryan Richard
def2b35e6e
Make ID token lifetimes configurable on OIDCClient resources
2024-04-24 14:13:40 -07:00
Ryan Richard
0d31e955ae
Don't skip upstream group memberships when groups scope is not granted
...
Background: For dynamic clients, the groups scope is not always allowed
and/or requested by the client, so it will not always be granted by the
Supervisor for an authorization request.
Previously, when the groups scope was not granted, we would skip
searching for upstream groups in some scenarios.
This commit changes the behavior of authorization flows so that even
when the groups scope is not granted we still search for the upstream
group memberships as configured, and we pass the upstream group
memberships into any configured identity transformations. The identity
transformations could potentially reject the user's authentication based
on their upstream group membership.
When the groups scope is not granted, we don't include the groups in
the final Supervisor-issued ID token. This behavior is not changed.
2024-02-21 13:12:18 -08:00