All notable changes to this project will be documented in this file.
- Update project to support Django 2.0
- Fix infinite login loop if "prompt=login" (#198)
- Fix Django 2.0 deprecation warnings (#185)
- Documentation template changed to
Read The Docs
.
install_requires
has not longer pinned versions.- Removed infinity loop during authorization stage when
prompt=login
has been send. - Changed
prompt
handling as set of options instead of regular string. - Redirect URI must match exactly with given in query parameter.
- Stored user consent are useful for public clients too.
- Fixed documentation for custom scopes handling.
- Scopes during refresh and code exchange are being taken from authorization request and not from query parameters.
- Signals when user accept/decline the authorization page.
OIDC_AFTER_END_SESSION_HOOK
setting for additional business logic.- Feature granttype password.
- require_consent and reuse_consent are added to Client model.
- OIDC_SKIP_CONSENT_ALWAYS and OIDC_SKIP_CONSENT_ENABLE are removed from settings.
- Timestamps with unixtime (instead of django timezone).
- Field refresh_token cannot be primary key if null.
create_uri_exceptions
are now being logged atException
level notDEBUG
.
- Bug in Session Management middleware when using Python 3.
- Translations handling.
- Session Management 1.0 support.
- post_logout_redirect_uris into admin.
- Package url names.
- Rename /logout/ url to /end-session/.
- Bug when trying authorize with response_type id_token without openid scope.
- Support for client redirect URIs with query strings.
- Bug when generating secret_key value using admin.
- Client is available to OIDC_EXTRA_SCOPE_CLAIMS implementations via
self.client
. - The constructor signature for
ScopeClaims
has changed, it now is called with theToken
as its single argument.
- Update pyjwkest to version 1.3.0.
- Use Cryptodome instead of Crypto lib.
- Support for Hybrid Flow.
- New attributes for Clients: Website url, logo, contact email, terms url.
- Polish translations.
- Examples section in documentation.
- CORS in discovery and userinfo endpoint.
- Client type public bug when created using the admin.
- Missing OIDC_TOKEN_EXPIRE setting on implicit flow.
- Support for Django 1.10.
- Initial translation files (ES, FR).
- Support for at_hash parameter.
- Empty address dict in userinfo response.
- OIDC_USERINFO setting.
- Field date_given in UserConsent model.
- Verbose names to all model fields.
- Customize scopes names and descriptions on authorize template.
- OIDC_EXTRA_SCOPE_CLAIMS setting.
- Make SITE_URL setting optional.
- Missing migration.
- Important bug with PKCE and form submit in Auth Request.
- Choose type of client on creation.
- Implement Proof Key for Code Exchange by OAuth Public Clients.
- Support for prompt parameter.
- Support for different client JWT tokens algorithm.
- Not auto-approve requests for non-confidential clients (publics).
- response_type was not being validated (OpenID request).
- Support OAuth2 requests.
- Decorator for protecting views with OAuth2.
- Setting OIDC_IDTOKEN_PROCESSING_HOOK.
- Setting OIDC_SKIP_CONSENT_ALWAYS.
- Removing OIDC_RSA_KEY_FOLDER setting. Moving RSA Keys to the database.
- Update pyjwkest to version 1.1.0.
- Nonce parameter missing on the decide form.
- Set Allow-Origin header to jwks endpoint.
- Auto-generation of client ID and SECRET using the admin.
- Validate nonce parameter when using Implicit Flow.
- Fixed generating RSA key by ignoring value of OIDC_RSA_KEY_FOLDER.
- Make OIDC_AFTER_USERLOGIN_HOOK and OIDC_IDTOKEN_SUB_GENERATOR to be lazy imported by the location of the function.
- Problem with a function that generate urls for the /.well-known/openid-configuration/ endpoint.
- Make user and client unique on UserConsent model.
- Support for URL's without end slash.
- Upgrade pyjwkest to version 1.0.8.
- String format error in models.
- Redirect to non http urls fail (for Mobile Apps).
- Refresh token flow.
- Upgrade pyjwkest to version >= 1.0.6.
- Unicode error in Client model.
- Bug in creatersakey command (when using Python 3).
- Bug when updating pyjwkest version.
- UserInfo model was removed. Now you can add your own model using OIDC_USERINFO setting.
- ID token does NOT contain kid.
- Add token_endpoint_auth_methods_supported to discovery.
- Missing commands folder in setup file.
- Sending access_token as query string parameter in UserInfo Endpoint.
- Support HTTP Basic client authentication.
- Use models setting instead of User.
- In python 2: "aud" and "nonce" parameters didn't appear in id_token.
- Now id tokens are signed/encrypted with RS256.
- Command for easily generate random RSA key.
- Jwks uri to discovery endpoint.
- id_token_signing_alg_values_supported to discovery endpoint.
- Nonce support for both Code and Implicit flow.
- Support for Python 3.
- Way of remember user consent and skipt it (OIDC_SKIP_CONSENT_ENABLE).
- Setting OIDC_SKIP_CONSENT_EXPIRE.
- Now OIDC_EXTRA_SCOPE_CLAIMS must be a string, to be lazy imported.
- Better naming for models in the admin.
- Now tests run without the need of a project configured.
- Error when returning address_formatted claim.
- Support for Django 1.8.
- Validation of scope in UserInfo endpoint.
- Initial migrations.
- Important bug with id_token when using implicit flow.
- Validate Code expiration in Auth Code Flow.
- Validate Access Token expiration in UserInfo endpoint.
- Normalize gender field in UserInfo.
- Make address_formatted a property inside UserInfo.
- Important bug in claims response.
- Setting OIDC_AFTER_USERLOGIN_HOOK.
- Tests failing because an incorrect tag in one template.
- Provider Configuration Information endpoint.
- Setting OIDC_IDTOKEN_SUB_GENERATOR.
- Now use setup in OIDC_EXTRA_SCOPE_CLAIMS setting.