diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 7f8fca5..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,324 +0,0 @@ -# CHANGELOG - -All notable changes to this project will be documented in this file. - -### Unreleased - -##### Added -- Add pep8 compliance and checker. - -##### Changed -- Test suit now uses pytest. - -##### Fixed -- Infinite callback loop in the check-session iframe. - -### [0.5.3] - 2018-03-09 - -##### Fixed -- Update project to support Django 2.0 - -### [0.5.2] - 2017-08-22 - -##### Fixed -- Fix infinite login loop if "prompt=login" (#198) -- Fix Django 2.0 deprecation warnings (#185) - -### [0.5.1] - 2017-07-11 - -##### Changed -- Documentation template changed to `Read The Docs`. - -##### Fixed -- `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. - -### [0.5.0] - 2017-05-18 - -##### Added -- 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. - -##### Changed -- OIDC_SKIP_CONSENT_ALWAYS and OIDC_SKIP_CONSENT_ENABLE are removed from settings. - -##### Fixed -- Timestamps with unixtime (instead of django timezone). -- Field refresh_token cannot be primary key if null. -- `create_uri_exceptions` are now being logged at `Exception` level not `DEBUG`. - -### [0.4.4] - 2016-11-29 - -##### Fixed -- Bug in Session Management middleware when using Python 3. -- Translations handling. - -### [0.4.3] - 2016-11-02 - -##### Added -- Session Management 1.0 support. -- post_logout_redirect_uris into admin. - -##### Changed -- Package url names. -- Rename /logout/ url to /end-session/. - -##### Fixed -- Bug when trying authorize with response_type id_token without openid scope. - -### [0.4.2] - 2016-10-13 - -##### Added -- Support for client redirect URIs with query strings. - -##### Fixed -- Bug when generating secret_key value using admin. - -##### Changed -- Client is available to OIDC_EXTRA_SCOPE_CLAIMS implementations via `self.client`. -- The constructor signature for `ScopeClaims` has changed, it now is called with the `Token` as its single argument. - -### [0.4.1] - 2016-10-03 - -##### Changed -- Update pyjwkest to version 1.3.0. -- Use Cryptodome instead of Crypto lib. - -### [0.4.0] - 2016-09-12 - -##### Added -- Support for Hybrid Flow. -- New attributes for Clients: Website url, logo, contact email, terms url. -- Polish translations. -- Examples section in documentation. - -##### Fixed -- CORS in discovery and userinfo endpoint. -- Client type public bug when created using the admin. -- Missing OIDC_TOKEN_EXPIRE setting on implicit flow. - -### [0.3.7] - 2016-08-31 - -##### Added -- Support for Django 1.10. -- Initial translation files (ES, FR). -- Support for at_hash parameter. - -##### Fixed -- Empty address dict in userinfo response. - -### [0.3.6] - 2016-07-07 - -##### Changed -- OIDC_USERINFO setting. - -### [0.3.5] - 2016-06-21 - -##### Added -- Field date_given in UserConsent model. -- Verbose names to all model fields. -- Customize scopes names and descriptions on authorize template. - -##### Changed -- OIDC_EXTRA_SCOPE_CLAIMS setting. - -### [0.3.4] - 2016-06-10 - -##### Changed -- Make SITE_URL setting optional. - -##### Fixed -- Missing migration. - -### [0.3.3] - 2016-05-03 - -##### Fixed -- Important bug with PKCE and form submit in Auth Request. - -### [0.3.2] - 2016-04-26 - -##### Added -- 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. - -##### Fixed -- Not auto-approve requests for non-confidential clients (publics). - -### [0.3.1] - 2016-03-09 - -##### Fixed -- response_type was not being validated (OpenID request). - -### [0.3.0] - 2016-02-23 - -##### Added -- Support OAuth2 requests. -- Decorator for protecting views with OAuth2. -- Setting OIDC_IDTOKEN_PROCESSING_HOOK. - -### [0.2.5] - 2016-02-03 - -##### Added -- Setting OIDC_SKIP_CONSENT_ALWAYS. - -##### Changed -- Removing OIDC_RSA_KEY_FOLDER setting. Moving RSA Keys to the database. -- Update pyjwkest to version 1.1.0. - -##### Fixed -- Nonce parameter missing on the decide form. -- Set Allow-Origin header to jwks endpoint. - -### [0.2.4] - 2016-01-20 - -##### Added -- Auto-generation of client ID and SECRET using the admin. -- Validate nonce parameter when using Implicit Flow. - -##### Fixed -- 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. - -### [0.2.3] - 2016-01-06 - -##### Added -- Make user and client unique on UserConsent model. -- Support for URL's without end slash. - -##### Changed -- Upgrade pyjwkest to version 1.0.8. - -##### Fixed -- String format error in models. -- Redirect to non http urls fail (for Mobile Apps). - -### [0.2.1] - 2015-10-21 - -##### Added -- Refresh token flow. - -##### Changed -- Upgrade pyjwkest to version >= 1.0.6. - -##### Fixed -- Unicode error in Client model. -- Bug in creatersakey command (when using Python 3). -- Bug when updating pyjwkest version. - -### [0.2.0] - 2015-09-25 - -##### Changed -- UserInfo model was removed. Now you can add your own model using OIDC_USERINFO setting. - -##### Fixed -- ID token does NOT contain kid. - -### [0.1.2] - 2015-08-04 - -##### Added -- Add token_endpoint_auth_methods_supported to discovery. - -##### Fixed -- Missing commands folder in setup file. - -### [0.1.1] - 2015-07-31 - -##### Added -- Sending access_token as query string parameter in UserInfo Endpoint. -- Support HTTP Basic client authentication. - -##### Changed -- Use models setting instead of User. - -##### Fixed -- In python 2: "aud" and "nonce" parameters didn't appear in id_token. - -### [0.1.0] - 2015-07-17 - -##### Added -- 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. - -##### Fixed -- Nonce support for both Code and Implicit flow. - -### [0.0.7] - 2015-07-06 - -##### Added -- Support for Python 3. -- Way of remember user consent and skipt it (OIDC_SKIP_CONSENT_ENABLE). -- Setting OIDC_SKIP_CONSENT_EXPIRE. - -##### Changed -- Now OIDC_EXTRA_SCOPE_CLAIMS must be a string, to be lazy imported. - -### [0.0.6] - 2015-06-16 - -##### Added -- Better naming for models in the admin. - -##### Changed -- Now tests run without the need of a project configured. - -##### Fixed -- Error when returning address_formatted claim. - -### [0.0.5] - 2015-05-09 - -##### Added -- Support for Django 1.8. - -##### Fixed -- Validation of scope in UserInfo endpoint. - -### [0.0.4] - 2015-04-22 - -##### Added -- Initial migrations. - -##### Fixed -- Important bug with id_token when using implicit flow. -- Validate Code expiration in Auth Code Flow. -- Validate Access Token expiration in UserInfo endpoint. - -### [0.0.3] - 2015-04-15 - -##### Added -- Normalize gender field in UserInfo. - -##### Changed -- Make address_formatted a property inside UserInfo. - -##### Fixed -- Important bug in claims response. - -### [0.0.2] - 2015-03-26 - -##### Added -- Setting OIDC_AFTER_USERLOGIN_HOOK. - -##### Fixed -- Tests failing because an incorrect tag in one template. - -### [0.0.1] - 2015-03-13 - -##### Added -- Provider Configuration Information endpoint. -- Setting OIDC_IDTOKEN_SUB_GENERATOR. - -##### Changed -- Now use setup in OIDC_EXTRA_SCOPE_CLAIMS setting. - -### [0.0.0] - 2015-02-26 diff --git a/docs/index.rst b/docs/index.rst index ae586a8..be652a5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -39,6 +39,8 @@ Contents: sections/signals sections/examples sections/contribute + sections/contribute + sections/changelog .. Indices and tables diff --git a/docs/sections/changelog.rst b/docs/sections/changelog.rst new file mode 100644 index 0000000..7265ab9 --- /dev/null +++ b/docs/sections/changelog.rst @@ -0,0 +1,495 @@ +.. _changelog: + +Changelog +######### + +All notable changes to this project will be documented in this file. + +Unreleased +========== + +**Added** + +* Add pep8 compliance and checker. + +**Changed** + +* Test suit now uses pytest. + +**Fixed** + +* Infinite callback loop in the check-session iframe. + +0.5.3 +===== + +*2018-03-09* + +**Fixed** + +* Update project to support Django 2.0 + +0.5.2 +===== + +*2017-08-22* + +**Fixed** + +* Fix infinite login loop if "prompt=login" (#198) +* Fix Django 2.0 deprecation warnings (#185) + +0.5.1 +===== + +*2017-07-11* + +**Changed** + +* Documentation template changed to `Read The Docs`. + +**Fixed** + +* `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. + +0.5.0 +===== + +*2017-05-18* + +**Added** + +* 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. + +**Changed** + +* OIDC_SKIP_CONSENT_ALWAYS and OIDC_SKIP_CONSENT_ENABLE are removed from settings. + +**Fixed** + +* Timestamps with unixtime (instead of django timezone). +* Field refresh_token cannot be primary key if null. +* `create_uri_exceptions` are now being logged at `Exception` level not `DEBUG`. + +0.4.4 +===== + +*2016-11-29* + +**Fixed** + +* Bug in Session Management middleware when using Python 3. +* Translations handling. + +0.4.3 +===== + +*2016-11-02* + +**Added** + +* Session Management 1.0 support. +* post_logout_redirect_uris into admin. + +**Changed** + +* Package url names. +* Rename /logout/ url to /end-session/. + +**Fixed** + +* Bug when trying authorize with response_type id_token without openid scope. + +0.4.2 +===== + +*2016-10-13* + +**Added** + +* Support for client redirect URIs with query strings. + +**Fixed** + +* Bug when generating secret_key value using admin. + +**Changed** + +* Client is available to OIDC_EXTRA_SCOPE_CLAIMS implementations via `self.client`. +* The constructor signature for `ScopeClaims` has changed, it now is called with the `Token` as its single argument. + +0.4.1 +===== + +*2016-10-03* + +**Changed** + +* Update pyjwkest to version 1.3.0. +* Use Cryptodome instead of Crypto lib. + +0.4.0 +===== + +*2016-09-12* + +**Added** + +* Support for Hybrid Flow. +* New attributes for Clients: Website url, logo, contact email, terms url. +* Polish translations. +* Examples section in documentation. + +**Fixed** + +* CORS in discovery and userinfo endpoint. +* Client type public bug when created using the admin. +* Missing OIDC_TOKEN_EXPIRE setting on implicit flow. + +0.3.7 +===== + +*2016-08-31* + +**Added** + +* Support for Django 1.10. +* Initial translation files (ES, FR). +* Support for at_hash parameter. + +**Fixed** + +* Empty address dict in userinfo response. + +0.3.6 +===== + +*2016-07-07* + +**Changed** + +* OIDC_USERINFO setting. + +0.3.5 +===== + +*2016-06-21* + +**Added** + +* Field date_given in UserConsent model. +* Verbose names to all model fields. +* Customize scopes names and descriptions on authorize template. + +**Changed** + +* OIDC_EXTRA_SCOPE_CLAIMS setting. + +0.3.4 +===== + +*2016-06-10* + +**Changed** + +* Make SITE_URL setting optional. + +**Fixed** + +* Missing migration. + +0.3.3 +===== + +*2016-05-03* + +**Fixed** + +* Important bug with PKCE and form submit in Auth Request. + +0.3.2 +===== + +*2016-04-26* + +**Added** + +* 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. + +**Fixed** + +* Not auto-approve requests for non-confidential clients (publics). + +0.3.1 +===== + +*2016-03-09* + +**Fixed** + +* response_type was not being validated (OpenID request). + +0.3.0 +===== + +*2016-02-23* + +**Added** + +* Support OAuth2 requests. +* Decorator for protecting views with OAuth2. +* Setting OIDC_IDTOKEN_PROCESSING_HOOK. + +0.2.5 +===== + +*2016-02-03* + +**Added** + +* Setting OIDC_SKIP_CONSENT_ALWAYS. + +**Changed** + +* Removing OIDC_RSA_KEY_FOLDER setting. Moving RSA Keys to the database. +* Update pyjwkest to version 1.1.0. + +**Fixed** + +* Nonce parameter missing on the decide form. +* Set Allow-Origin header to jwks endpoint. + +0.2.4 +===== + +*2016-01-20* + +**Added** + +* Auto-generation of client ID and SECRET using the admin. +* Validate nonce parameter when using Implicit Flow. + +**Fixed** + +* 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. + +0.2.3 +===== + +*2016-01-06* + +**Added** + +* Make user and client unique on UserConsent model. +* Support for URL's without end slash. + +**Changed** + +* Upgrade pyjwkest to version 1.0.8. + +**Fixed** + +* String format error in models. +* Redirect to non http urls fail (for Mobile Apps). + +0.2.1 +===== + +*2015-10-21* + +**Added** + +* Refresh token flow. + +**Changed** + +* Upgrade pyjwkest to version >= 1.0.6. + +**Fixed** + +* Unicode error in Client model. +* Bug in creatersakey command (when using Python 3). +* Bug when updating pyjwkest version. + +0.2.0 +===== + +*2015-09-25* + +**Changed** + +* UserInfo model was removed. Now you can add your own model using OIDC_USERINFO setting. + +**Fixed** + +* ID token does NOT contain kid. + +0.1.2 +===== + +*2015-08-04* + +**Added** + +* Add token_endpoint_auth_methods_supported to discovery. + +**Fixed** + +* Missing commands folder in setup file. + +0.1.1 +===== + +*2015-07-31* + +**Added** + +* Sending access_token as query string parameter in UserInfo Endpoint. +* Support HTTP Basic client authentication. + +**Changed** + +* Use models setting instead of User. + +**Fixed** + +* In python 2: "aud" and "nonce" parameters didn't appear in id_token. + +0.1.0 +===== + +*2015-07-17* + +**Added** + +* 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. + +**Fixed** + +* Nonce support for both Code and Implicit flow. + +0.0.7 +===== + +*2015-07-06* + +**Added** + +* Support for Python 3. +* Way of remember user consent and skipt it (OIDC_SKIP_CONSENT_ENABLE). +* Setting OIDC_SKIP_CONSENT_EXPIRE. + +**Changed** + +* Now OIDC_EXTRA_SCOPE_CLAIMS must be a string, to be lazy imported. + +0.0.6 +===== + +*2015-06-16* + +**Added** + +* Better naming for models in the admin. + +**Changed** + +* Now tests run without the need of a project configured. + +**Fixed** + +* Error when returning address_formatted claim. + +0.0.5 +===== + +*2015-05-09* + +**Added** + +* Support for Django 1.8. + +**Fixed** + +* Validation of scope in UserInfo endpoint. + +0.0.4 +===== + +*2015-04-22* + +**Added** + +* Initial migrations. + +**Fixed** + +* Important bug with id_token when using implicit flow. +* Validate Code expiration in Auth Code Flow. +* Validate Access Token expiration in UserInfo endpoint. + +0.0.3 +===== + +*2015-04-15* + +**Added** + +* Normalize gender field in UserInfo. + +**Changed** + +* Make address_formatted a property inside UserInfo. + +**Fixed** + +* Important bug in claims response. + +0.0.2 +===== + +*2015-03-26* + +**Added** + +* Setting OIDC_AFTER_USERLOGIN_HOOK. + +**Fixed** + +* Tests failing because an incorrect tag in one template. + +0.0.1 +===== + +*2015-03-13* + +**Added** + +* Provider Configuration Information endpoint. +* Setting OIDC_IDTOKEN_SUB_GENERATOR. + +**Changed** + +* Now use setup in OIDC_EXTRA_SCOPE_CLAIMS setting. + +0.0.0 +===== + +*2015-02-26*