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
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
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
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
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
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
2e75f54069
update mocks
2020-09-16 06:44:16 +02:00
Livio Amstutz
143ff3482c
change verifier interfaces
2020-09-11 10:45:07 +02:00
adlerhurst
7a109a763d
feat: service account token exchange
2020-09-02 17:52:22 +02:00
Livio Amstutz
6e71c17f1d
pass origin into GetUserinfoFromToken
2020-08-24 07:52:22 +02:00
Fabi
c6e22dff69
feat: dev mode on client, check client configuration ( #41 )
...
* fix: tests
* fix: tests
* fix: tests
2020-08-06 13:10:49 +02:00
Livio Amstutz
58545a1710
fix: handle code separately ( #30 )
2020-05-29 09:40:34 +02:00
livio-a
a8d10945d8
feat: preselect user with id_token_hint ( #16 )
...
* feat: preselect user with id_token_hint
* fix tests
2020-03-11 09:41:54 +01:00
livio-a
2b9f7dfd18
Fix: userinfo ( #15 )
...
* add idea to gitignore
* working userinfo
* cleanup
* tests
2020-03-06 17:14:30 +01:00
Livio Amstutz
e8f3010910
feat: terminate session (front channel logout)
2020-03-03 11:31:23 +01:00
Livio Amstutz
5e7e5ebe3a
fix: create access token from storage
2020-02-27 17:06:32 +01:00
Livio Amstutz
a2e2f064a2
fix: change channel for GetSigningKey to time
2020-02-14 12:54:26 +01:00
Livio Amstutz
93709a18b6
add readiness and partial key rotation
2020-02-11 17:17:09 +01:00
Livio Amstutz
6d0890e280
initial commit
2020-01-31 15:22:16 +01:00