Releases: descope/python-sdk
Releases · descope/python-sdk
1.5.7
Enhancements
- Password Replace return value: We're now returning the JWT's response in the
password.replacefunction, so that the session and refresh JWTs can be utilized (for example, in flows). - OIDC JWT validation support: For OIDC JWT validation, we've added the option to pass the
audiencevalue to all validation functions (such asvalidation_session). That value will be compared to theaudclaim in the JWT, so to make sure those are aligned. This is a must when using OIDC.
1.5.6
Enhancements
- Embedded links: We now support the option of generating an embedded link. Using the
generate_embedded_linkfunction, the Descoper can now generate a link that contains a user's token, thus requiring only verification to finalize the authentication.
⚠️ Please notice that this feature needs to be turned on in the console, as it's considered an advanced feature that requires extra planning and attention when used. Make sure only permitted personnel use it, and that it is audited appropriately in the relevant places. - Search by user status: We've added the option to search over user
statusesusing thesearch_allfunction.
1.5.5
Breaking changes
- Update of the
configure_via_metadataandconfigureSSO functions: We've added two new parameters to theconfigure_via_metadatafunction -redirect_url,domain. This is to complete the SSO configuration options when using the metadata URL option.
We've also made these parameters mandatory in theconfigurefunction (used for configuring SSO using connection details).
Please notice that this breaks function signatures for both theconfigure_via_metadataandconfigurefunctions.
Enhancements
- Load tenant by ID: We added an option to load a specific tenant, using the
loadtenant function.
1.5.4
1.5.3
1.5.2
Enhancements
- Get a user's OAuth provider tokens: When using your own OAuth provider account, you can now choose to request additional scopes and have the provider's access tokens managed by Descope. When needed, those can be fetched using the
get_provider_tokenfunction, which retrieves the token for your application to use. - Delete a tenant's SAML configuration: Using the
delete_settingsfunction, you can define which tenant's SAML configuration should be deleted. - Search over audit logs: You can now filter over Descope's audit logs using the
searchaudit function. For a full list of filter options see function's documentation.
1.5.1
Enhancements
- Set and expire user passwords: You can now expire a user's password using the
expire_passwordfunction, which will make the user reset it on their next authentication. There's also the option to set a new one using theset_passwordfunction; notice that even when choosing a password, the user will still need reset it on their next authentication. - Package dependencies definition: We expanded our dependency ranges to increase compatibility.
Bug fixes
- JWT claims in validation responses: When validating the session (using
validate_session,refresh_sessionandvalidate_and_refresh_sessionfunctions) we aligned the response to include the session JWT claims under thesessionTokenkey. On top of that - information such as user ID (sub), project ID (iss) and associations such as tenants - are all populated with the relevant values.
1.5.0
Enhancements
- User custom attributes 💫 : We're glad to announce that we now support adding custom attributes to the user object! The default user object is great, but sometimes you want to keep a bit more information on it for your app's needs.
- Creation of the attributes are done from the Descope Console, and you can find them in the user object under the
custom_attributesproperty. Option to set, update and delete the values are also available from the SDK. - Add a Login ID to the user upon update: When updating a user's phone or email (via OTP / Magic Link / Enchanted Link), you can decide if to make that new value part of the user's Login IDs so that they can later on authenticate with them.
There can be times where an existing user with the new identifier already exists in your user database - so a merging strategy needs to be defined as well.
All of this can be done using theadd_to_login_idsparameter. - Import and export of Flows and Themes: If you want to export or import flows and themes from one project to another - you can do so now with supporting commands, such as
export_flow. Examples can be found in the SDK's README. - Get tenant SSO configuration: Using the
get_settingsfunction, you can now fetch a specific tenant's SSO configuration. Example on how to do so in the repo's README, under the 'Manage SSO Settings' section. - User attribute updates: You can now update the user's picture using the new user
update_picturecommand, and user custom attributes using theupdate_custom_attributecommand. - Timeouts for request: We added configurable timeouts to our request. Default is set by the
DEFAULT_TIMEOUT_SECONDSproperty and is set to 60 seconds. (@tebeka)
Bug fixes
- Test user functions: Deleting and authenticating test users didn't work in some cases as they were using the wrong methods. We fixed it and now it should work smoothly.
1.1.1
1.1.0
Breaking changes
- PEP8 naming convention alignment: We made sure our Python SDK is aligned to the PEP8 naming convention; this includes the following breaking changes:
- auth/webauthn.py -
transactionIDargument of thesign_up_finishfunction has changed totransaction_id - management/jwt.py -
updateJWTfunction has changed toupdate_jwt
- auth/webauthn.py -
Enhancements
- Passwords for user authentication: Descope now supports usage of passwords. You can design your authentication flow to include password authentication, update a user's password when expired, and more.
- User testing utility for your E2E tests: When using authentication methods such as OTP / Magic Link / Enchanted Link, it can get cumbersome to automatically test those as part of the app's testing process. To close this loop - we released a utility with which you can create test users. Those special users are enabled to generate codes or links without the need of 3rd party messaging services.
You can create, fetch and delete test users - all part of your integration tests code! More information, along with examples, can be found in the SDK's README. - Invite users via management commands: Use the new
inviteUser command to programmatically invite users to your project. Just like in the console, you can control which tenants and roles will be associated to the invited users. - Masked email and phone dynamic values: We updated some of the authentication methods' responses to return a masked value of the user's verification identifier. Use the
masked_addressparameter when working with OTP / Magic Link / Enchanted Link to present it in Flow Screens or your own proprietary UI. - Pagination support for Users: We now support the ability to paginate the
search_allUser response. Use thepageparameter to define how many results should return in each page. - Documentation enhancements: Tiny enhancements to our SDK's README.