Skip to content

Latest commit

 

History

History
389 lines (290 loc) · 18 KB

CHANGELOG.md

File metadata and controls

389 lines (290 loc) · 18 KB

Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

2.4.3 (2018-10-10)

Bug Fixes

  • assign Discovery 1.0 defaults when discovering with .well-known (74b593e)

2.4.2 (2018-09-27)

Bug Fixes

  • non-string error responses are not treated as OpenIdConnectError (782d464), closes #125

2.4.1 (2018-09-16)

Bug Fixes

  • lts/boron unsupported syntax fix (5289188)

2.4.0 (2018-09-16)

Bug Fixes

  • OpenIdConnectError also returns session_state (95fae3d)
  • stop sending state on the authorisation code token grant (c4c9e50)

Features

  • add RP-Initiated Logout URL helper (7c2e030), closes #116

2.3.1 (2018-08-23)

Bug Fixes

  • apply safer, simpler www-authenticate parsing regex (ffce55a)
  • only assign Discovery 1.0 defaults when Issuer is discovered (dca60b8)

2.3.0 (2018-08-11)

Features

  • authorization response parameter checking based on response_type (6e0ac57)
  • passport strategy automatically checks response REQUIRED params (902eeed)

Pre standard-version Change Log

Version 2.2.x

Version 2.2.1

  • 2018-07-10 DIFF
  • improved discovery support of custom .well-known suffixes
  • chores - refactoring, missing tests, cleanup

Version 2.2.0

Version 2.1.x

Version 2.1.1

  • 2018-06-28 DIFF
  • fixed handling of bearer endpoint responses with www-authenticate headers only. fixes #102

Version 2.1.0

  • 2018-05-31 DIFF
  • node-jose dependency bumped to major ^1.0.0 - fixes A\d{3}GCMKW symmetrical encryption support
  • dependency updates

Version 2.0.x

Version 2.0.4

  • 2018-05-25 DIFF
  • fixed circular when serializing OpenIdConnectError
  • base64url dependency update

Version 2.0.3

  • 2018-05-15 DIFF
  • base64url dependency replaced

Version 2.0.2

  • 2018-05-10 DIFF
  • dependency tree updates

Version 2.0.1

  • 2018-04-26 DIFF
  • fixed client_secret_basic requiring the username and password tokens to be x-www-form-urlencoded according to https://tools.ietf.org/html/rfc6749#section-2.3.1
    • NOTE: Although technically a fix, this is a breaking change when used with providers that also don't currently follow the standard. A proper way of submitting client_id and client_secret using client_secret_basic is Authorization: base64(formEncode(client_id):formEncode(client_secret)). If your client_id and client_secret does contain special characters that need encoding this does not affect you. If it does, try using client_secret_post instead.

Version 2.0.0

  • 2018-04-12 DIFF
  • dropped support for Node.js v4.x due to its End-of-Life on 2018-04-30
  • removed deprecated client#grantAuth
  • removed deprecated way of passing keystore directly to Client#register
  • removed support for passing client to OpenIDConnectStrategy as single argument, use new Strategy({ client }) instead of new Strategy(client).
  • fixed a bug requiring nonce to be passed for response_type=none

Version 1.20.0

  • 2018-03-13 DIFF
  • added documentation for OpenIdConnectError
  • added error_uri from IdP responses to OpenIdConnectError instances
  • fixed OpenIdConnectError messages to include error_description

Version 1.19.x

Version 1.19.5

  • 2018-03-10 DIFF
  • Issuer.discover now parses the provided URI instead of just inspecting the string. #80

Version 1.19.4

  • 2018-01-30 DIFF
  • fixed edge cases of (and simplified) private id token decryption method

Version 1.19.3

  • 2018-01-22 DIFF
  • fix return values of #authorizationCallback() for response_type=none to resolve a TokenSet

Version 1.19.2

  • 2018-01-16 DIFF
  • fixed authorizationUrl to respect existing issuer authorization_endpoint query parameters

Version 1.19.1

  • 2018-01-15 DIFF
  • adjusted the passport state mismatch related error message to hint developers at a local setup issue

Version 1.19.0

  • 2017-12-12 DIFF
  • added maintained request wrapper and a simple api to use request instead of got

Version 1.18.x

Version 1.18.2

  • 2017-12-05 DIFF
  • bumped node-jose dependency

Version 1.18.1

  • 2017-11-25 DIFF
  • fixed the order of several assert.equal calls to swap actual/expected descriptions
  • added assertion error messages for passport strategy

Version 1.18.0

  • 2017-11-19 DIFF
  • added option for the passport strategy to use PKCE
  • updated http request library got dependency

Version 1.17.0

  • 2017-10-31 DIFF
  • now uses client_secret_post as default for Issuer instances that do not support client_secret_basic but do signal support for client_secret_post in their discovery document

Version 1.16.0

  • 2017-10-13 DIFF
  • added s_hash value validation support for ID Tokens returned by authorization endpoint
  • fixed edge cases where valid _hash but from invalid sha-length was accepted

Version 1.15.0

  • 2017-09-11 DIFF
  • added support for Request Objects encrypted with symmetrical keys
  • fixed PBES2 encryption to use client_secret derived symmetrical key instead of its full octet value

Version 1.14.0

  • 2017-09-09 DIFF
  • added Passport Strategy passReqToCallback option, defaults to false

Version 1.13.0

  • 2017-08-24 DIFF
  • added an optional keystore argument to Client#fromUri(uri, token, [keystore]) to pass a keystore with private asymmetrical keys
  • fixed keystore check during constructor Client#new calls to check that only private asymmetrical keys are added

Version 1.12.0

Version 1.12.1

  • 2017-08-11 DIFF
  • explicitly specified accepted response type via accept: application/json header
  • added state to token_endpoint calls for servers supporting mixup mitigation

Version 1.12.0

  • 2017-07-17 DIFF
  • Allow session key to be specified in passport strategy options

Version 1.11.0

Version 1.11.1

  • 2017-07-14 DIFF
  • relaxed #callbackParams to allow IncomingMessage lookalikes
  • update internal dependencies

Version 1.11.0

  • 2017-05-19 DIFF
  • fixed default application_type from ['web'] to 'web'
  • added barebones Issuer.httpClient setter to help advanced developers in complex environments to change the used http request client

Version 1.10.0

  • 2017-05-04 DIFF
  • added pure OAuth 2.0 stripped down callback function #oauthCallback
  • added an extra option for #userinfo requests to have extra params in either query or body

Version 1.9.0

  • 2017-04-30 DIFF
  • added introspection/revocation specific client and issuer properties. To remain backwards compatible they default to their token endpoint counterparts
    • issuer.revocation_endpoint_auth_methods_supported
    • issuer.introspection_endpoint_auth_methods_supported
    • issuer.revocation_endpoint_auth_signing_alg_values_supported
    • issuer.introspection_endpoint_auth_signing_alg_values_supported
    • client.revocation_endpoint_auth_method
    • client.introspection_endpoint_auth_method
    • client.revocation_endpoint_auth_signing_alg
    • client.introspection_endpoint_auth_signing_alg

Version 1.8.0

Version 1.8.2

  • 2017-04-29 DIFF
  • bumped node-jose dependency to avoid github tar.gz dependencies
  • adjusted token_endpoint_auth_method=none to how it should be

Version 1.8.0

  • 2017-04-07 DIFF
  • Issuer and Client now recognize custom properties, this is so that new Registry Contents do not require a new release of openid-client to be picked up. Custom properties are exposed as getters so long as they do not interfere with the object's Prototype and they are always available in #metadata getter.

Version 1.7.0

Version 1.7.2

  • 2017-03-28 DIFF
  • added missing check for webfinger issuer location protocol

Version 1.7.1

  • 2017-03-28 DIFF
  • added authorizationCallback support for submitting code_verifier
  • example now includes session management OP and RP frames

1.7.0 failed to publish properly, use 1.7.1 instead

Version 1.6.0

Version 1.6.4

  • 2017-03-14 DIFF
  • fixed receiving (correct) empty responses from revocation endpoints (#21)

Version 1.6.3

Version 1.6.2

  • 2017-03-09 DIFF
  • fixed verify callback skipping userinfo when userinfo_endpoint is not configured (#19)
  • removed mandatory checks from passport strategy, allowing i.e. implicit only OPs (#19)

Version 1.6.1

  • 2017-03-07 DIFF
  • fixed verify callback skipping userinfo call when arity says it should but no access token is present (#18)

Version 1.6.0

  • 2017-02-15 DIFF
  • added at_hash presence assertion for applicable (implicit) ID Token validation
  • added c_hash presence assertion for applicable (hybrid) ID Token validation from the authorization_endpoint

Version 1.5.0

Version 1.5.3

  • 2017-02-15 DIFF
  • fixed an ID Token validation for ID Token returned by Token Endpoint that includes c_hash

Version 1.5.2

  • 2017-02-01 DIFF
  • fixed passport strategy, have it use prototype instead of ES6 class syntax

Version 1.5.1

  • 2017-01-29 DIFF
  • fixed client_assertion aud claim for _jwt auth methods when used in introspection and revocation

Version 1.5.0

  • 2017-01-26 DIFF
  • added a passport.js strategy
  • added missing max_age, default_max_age related functionality
    • authorizationCallback now supports max_age check
    • clients with default_max_age use this default value automatically
    • when max_age is checked auth_time claim is mandatory and must be a number
  • added missing require_auth_time related functionality
    • clients with require_auth_time = true have the presence and format of auth_time claim validated
  • authorizationUrl and authorizationPost now removes null and undefined values and ensures parameters are stringified before passed to url.format
  • added client.CLOCK_TOLERANCE property, to allow for clock skew (in seconds)

Version 1.4.0

  • 2017-01-10 DIFF
  • deprecated passing keystore directly to Client#register, pass an object with keystore property instead
  • added the option to provide InitialAccessToken value to Client#register

Version 1.3.0

Version 1.3.1

  • 2016-12-18 DIFF
  • added error messages when expected response is missing

Version 1.3.0

  • 2016-12-13 DIFF
  • added #requestObject method to Client to return signed and/or encrypted Request Object

Version 1.2.0

  • 2016-12-09 DIFF
  • added #claims getter to TokenSets returned from authorizationCallback and refresh;

Version 1.1.0

  • 2016-11-23 DIFF
  • fixed unpacking aggregated claims with alg=none and no iss claim
  • fetching distributed claims now expects a JWT response, previously expected invalid OP responses

Version 1.0.0

Version 1.0.2

  • 2016-11-22 DIFF
  • fixed signed userinfo response validation in case iss, aud and similar ID Token claims are missing

Version 1.0.1

  • 2016-11-18 DIFF
  • Updated uuid dependency

Version 1.0.0

RP test tools are passing, no changes required from the library, API is declared stable, hence 1.0.0 release.

Migrating from 0.x to 1.0

  1. update your package.json file to "^1.0.0"
  2. sit back and relax, no breaking changes

pre 1.x changelog

4. Major version zero (0.y.z) is for initial development. Anything may change at any time.
   The public API should not be considered stable.

5. Version 1.0.0 defines the public API.