improved
SDK Auto-Configuration for Express!
4 days ago by Jim Verducci
π£ Express Auth SDK 4.1.0 Release π
There were several enhancements to the Express Auth SDK with this release. Please refer to the GitHub README for updated documentation and details.
Below is a summary of all changes:
- The all new SDK auto-configuration functionality is now available for the Express Auth SDK. It supports both lazy and eager auto-configuration. Auto-configuration is enabled by default and will fetch missing configuration values from the Wristband SDK Configuration Endpoint when any auth method is first called. Manual configuration values take precedence over auto-configured values. Set
autoConfigureEnabled: false
in theAuthConfig
to disable. - The
async discoverWristbandAuth()
function can be used to eager-load SDK configurations from the Wristband SDK Configuration Endpoint on server startup. - The
AuthConfig
class can now take an optionaltokenExpirationBuffer
configuration. This buffer time (in seconds) gets subtracted from the access tokenβs expiration time. This causes the token to be treated as expired before its actual expiration, helping to avoid token expiration during API calls. The default value is 60 seconds if not explicitly configured. - The
CallbackData
andTokenData
types now return anexpiresAt
field. This is the absolute expiration time of the access token in milliseconds since the Unix epoch. ThetokenExpirationBuffer
configuration is accounted for in this value. Developers no longer need to calculate this value in their own app code. - The
loginStateSecret
config is no longer required. If not provided, it will default to using the client secret. For enhanced security, it is recommended to provide a value that is unique from the client secret. You can runopenssl rand -base64 32
to create a secret from your CLI. - The
LoginConfig
class for thelogin()
function now supports areturnUrl
field. If a value is provided, then it takes precedence over the existingreturn_url
request query parameter. This new login config provides the same functionality as the existing query parameter approach. - The
LogoutConfig
class for thelogout()
function now supports astate
field. This is an optional value that allows you to preserve application state through the logout flow when redirecting to the Wristband Logout Endpoint. If provided, it will be appended as a query parameter to the resolved logout URL. Maximum length of 512 characters. This is useful for tracking logout context, displaying post-logout messages, or handling different logout scenarios.