David Sharnoff
7e5798569b
fix: glob support for RedirectURIs
...
Fixes #293
2023-03-06 14:13:35 +02:00
Tim Möhlmann
c8d61c0858
rp: allow to set custom URL parameters ( #273 )
...
* rp: allow to set prompts in AuthURLHandler
Fixes #241
* rp: configuration for handlers with URL options to call RS
Fixes #265
2023-02-13 11:28:46 +02:00
Tim Möhlmann
df5a09f813
chore: switch from iouitil to io.ReadAll ( #272 )
...
removed a TODO: switch to io.ReadAll and drop go1.15 support
2023-02-06 08:29:25 +01:00
Livio Spring
1535ea4f6c
chore(examples): improve logging and how to use ( #266 )
2023-01-25 06:22:12 +01:00
David Sharnoff
74e1823392
chore: add an RP/OP integration test ( #238 )
...
* rp/op integration test
do not error if OP does not provide a redirect
working, but with debugging
clean up, remove debugging
support go1.15
attempt to fix coverage calculation
* Update pkg/client/rp/integration_test.go
Co-authored-by: Livio Spring <livio.a@gmail.com>
Co-authored-by: Livio Spring <livio.a@gmail.com>
2022-11-18 07:29:25 +01:00
David Sharnoff
39852f6021
feat: add rp.RevokeToken ( #231 )
...
* feat: add rp.RevokeToken
* add missing lines after conflict resolving
Co-authored-by: Livio Spring <livio.a@gmail.com>
2022-11-15 07:35:16 +01:00
Florian Forster
4ac692bfd8
chore: house cleaning of the caos name and update sec ( #232 )
...
* chore: house cleaning of the caos name and update sec
* some typos
* make fix non breakable
* Update SECURITY.md
Co-authored-by: Livio Spring <livio.a@gmail.com>
* Update SECURITY.md
Co-authored-by: Livio Spring <livio.a@gmail.com>
Co-authored-by: Livio Spring <livio.a@gmail.com>
2022-10-17 09:13:54 +02:00
mv-kan
01021e71a0
chore(example): fix listener usage in app example ( #224 )
2022-10-05 09:36:06 +02:00
David Sharnoff
b5da6ec29b
chore(linting): apply gofumpt & goimports to all .go files ( #225 )
2022-10-05 09:33:10 +02:00
David Sharnoff
749c30491b
chore: Make example/server usable for tests ( #205 )
...
* internal -> storage; split users into an interface
* move example/server/*.go to example/server/exampleop/
* export all User fields
* storage -> Storage
* example server now passes tests
2022-09-30 07:44:10 +02:00
Florian Forster
550f7877f2
fix: move to new org ( #177 )
...
* chore: move to new org
* chore: change import
* fix: update logging lib
Co-authored-by: Fabienne <fabienne.gerschwiler@gmail.com>
Co-authored-by: adlerhurst <silvan.reusser@gmail.com>
2022-04-26 23:48:29 +02:00
Livio Amstutz
885fe0d45c
docs(example): implement OpenID Provider ( #165 )
...
* chore(example): implement OpenID Provider
* jwt profile and fixes
* some comments
* remove old op example
* fix code flow example
* add service user and update readme
* fix password for example use
* ignore example and mock folders for code coverage
* Update example/server/internal/storage.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
* Update client.go
Co-authored-by: Silvan <silvan.reusser@gmail.com>
2022-04-21 17:54:00 +02:00
Livio Amstutz
c195452bb0
feat(rp): provide key by data (not only path) for jwt profile ( #168 )
2022-04-14 10:10:56 +02:00
Livio Amstutz
eb10752e48
feat: Token Revocation, Request Object and OP Certification ( #130 )
...
FEATURES (and FIXES):
- support OAuth 2.0 Token Revocation [RFC 7009](https://datatracker.ietf.org/doc/html/rfc7009 )
- handle request object using `request` parameter [OIDC Core 1.0 Request Object](https://openid.net/specs/openid-connect-core-1_0.html#RequestObject )
- handle response mode
- added some information to the discovery endpoint:
- revocation_endpoint (added with token revocation)
- revocation_endpoint_auth_methods_supported (added with token revocation)
- revocation_endpoint_auth_signing_alg_values_supported (added with token revocation)
- token_endpoint_auth_signing_alg_values_supported (was missing)
- introspection_endpoint_auth_signing_alg_values_supported (was missing)
- request_object_signing_alg_values_supported (added with request object)
- request_parameter_supported (added with request object)
- fixed `removeUserinfoScopes ` now returns the scopes without "userinfo" scopes (profile, email, phone, addedd) [source diff](https://github.com/caos/oidc/pull/130/files#diff-fad50c8c0f065d4dbc49d6c6a38f09c992c8f5d651a479ba00e31b500543559eL170-R171 )
- improved error handling (pkg/oidc/error.go) and fixed some wrong OAuth errors (e.g. `invalid_grant` instead of `invalid_request`)
- improved MarshalJSON and added MarshalJSONWithStatus
- removed deprecated PEM decryption from `BytesToPrivateKey` [source diff](https://github.com/caos/oidc/pull/130/files#diff-fe246e428e399ccff599627c71764de51387b60b4df84c67de3febd0954e859bL11-L19 )
- NewAccessTokenVerifier now uses correct (internal) `accessTokenVerifier` [source diff](https://github.com/caos/oidc/pull/130/files#diff-3a01c7500ead8f35448456ef231c7c22f8d291710936cac91de5edeef52ffc72L52-R52 )
BREAKING CHANGE:
- move functions from `utils` package into separate packages
- added various methods to the (OP) `Configuration` interface [source diff](https://github.com/caos/oidc/pull/130/files#diff-2538e0dfc772fdc37f057aecd6fcc2943f516c24e8be794cce0e368a26d20a82R19-R32 )
- added revocationEndpoint to `WithCustomEndpoints ` [source diff](https://github.com/caos/oidc/pull/130/files#diff-19ae13a743eb7cebbb96492798b1bec556673eb6236b1387e38d722900bae1c3L355-R391 )
- remove unnecessary context parameter from JWTProfileExchange [source diff](https://github.com/caos/oidc/pull/130/files#diff-4ed8f6affa4a9631fa8a034b3d5752fbb6a819107141aae00029014e950f7b4cL14 )
2021-11-02 13:21:35 +01:00
陈杨文
ff2c164057
fix: improve example & fix userinfo marshal ( #132 )
...
* fix: example client should track state, call cli.CodeFlow need context
* fix: oidc userinfo can UnmarshalJSON with address
* rp Discover use client.Discover
* add instruction for example to README.md
2021-10-08 08:20:45 +02:00
Livio Amstutz
850faa159d
fix: rp verification process ( #95 )
...
* fix: rp verification process
* types
* comments
* fix cli client
2021-06-23 11:08:54 +02:00
Livio Amstutz
400f5c4de4
fix: parse max_age and prompt correctly (and change scope type) ( #105 )
...
* fix: parse max_age and prompt correctly (and change scope type)
* remove unnecessary omitempty
2021-06-16 08:34:01 +02:00
Livio Amstutz
14faebbb77
fix: check grant types and add refresh token to discovery
2021-05-27 13:44:11 +02:00
Livio Amstutz
2a11a1979e
rename storage methods and fix mocks
2021-05-11 10:48:11 +02:00
Livio Amstutz
5119d7aea3
begin refresh token
2021-04-29 09:20:01 +02:00
Livio Amstutz
1049c44c3e
Merge remote-tracking branch 'origin/token-introspection' into signingkey
...
# Conflicts:
# pkg/op/mock/storage.mock.go
# pkg/op/storage.go
2021-02-12 13:02:04 +01:00
Livio Amstutz
fb9d1b3c4a
Update example/internal/mock/storage.go
...
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
2021-02-12 12:51:22 +01:00
Livio Amstutz
0c7b2605bd
clenaup
2021-02-12 07:02:10 +01:00
Livio Amstutz
0ca2370d48
refactoring
2021-02-11 17:38:58 +01:00
Livio Amstutz
138da8a208
introspect
2021-02-10 16:42:01 +01:00
Livio Amstutz
960be5af1f
introspect and client assertion
2021-02-01 17:17:40 +01:00
Livio Amstutz
50ab51bb46
introspect and client assertion
2021-01-28 08:41:36 +01:00
Livio Amstutz
b2f23dc5b7
Merge branch 'master' into signingkey
2020-12-16 08:01:37 +01:00
Fabi
27f3bc0f4a
fix: change callbackpath ( #74 )
...
* fix: append client id to aud
* handle new callback path
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
2020-11-30 11:21:09 +01:00
Fabi
c07d40296e
Merge pull request #73 from caos/skew
...
feat: add clock skew and userinfo id_token options
2020-11-27 11:07:49 +01:00
Livio Amstutz
36800145d6
renaming
2020-11-26 16:12:27 +01:00
Livio Amstutz
24120554e5
feat: add clock skew and option to put userinfo (profile, email, phone, address) into id_token
2020-11-26 15:46:08 +01:00
Livio Amstutz
f5d0e64ff1
chore(example): dynamic scopes in example ( #72 )
2020-11-24 15:56:12 +01:00
Fabi
2370409a55
fix: allow additional scopes ( #69 )
...
* feat: allow additional scopes
* fix: mocks and tests
* fix: restrict additional scopes
* fix: restrict additional scopes
* fix: remove comments
* fix: remove comments
2020-11-03 08:07:02 +01:00
Livio Amstutz
06dcac4c2f
fix: remove signing key creation (when not found)
2020-10-19 15:26:34 +02:00
Livio Amstutz
ed33332dce
merging and missing mocks
2020-10-15 13:41:31 +02:00
Livio Amstutz
8be8306511
Merge branch 'master' into serializing
...
# Conflicts:
# example/internal/mock/storage.go
# pkg/op/mock/storage.mock.go
# pkg/op/storage.go
2020-10-15 11:19:20 +02:00
Fabi
9943f20215
feat: bearer access token includes tokenid and subject ( #62 )
2020-10-15 09:38:06 +02:00
Livio Amstutz
b311610d06
feat: check allowed scopes (and pass clientID to GetUserinfoFromScopes)
2020-10-07 08:44:26 +02:00
Livio Amstutz
b2903212ab
cleanup
2020-09-30 08:40:28 +02:00
Livio Amstutz
707029d431
update example
2020-09-29 08:40:32 +02:00
Livio Amstutz
1661b40fbe
fix tests
2020-09-28 15:06:14 +02:00
Livio Amstutz
0cad2e4652
jwt profile and authorization handling
2020-09-28 13:55:22 +02:00
Livio Amstutz
d368b2d950
refactoring
2020-09-28 09:07:46 +02:00
Livio Amstutz
542ec6ed7b
refactoring
2020-09-25 16:41:25 +02:00
Livio Amstutz
64797c1df6
cleanup
2020-09-16 15:22:15 +02:00
Livio Amstutz
693ce1a07a
differ between oauth2 and oidc relaying party
2020-09-16 10:51:33 +02:00
Livio Amstutz
2e75f54069
update mocks
2020-09-16 06:44:16 +02:00
Livio Amstutz
2e6d1f83f7
fix server example
2020-09-15 08:08:04 +02:00
Livio Amstutz
3c2ad6a53d
update app example
2020-09-15 08:05:20 +02:00