Skip to content

Releases: descope/python-sdk

1.5.7

28 Aug 12:37
b3899b5

Choose a tag to compare

Enhancements

  • Password Replace return value: We're now returning the JWT's response in the password.replace function, 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 audience value to all validation functions (such as validation_session). That value will be compared to the aud claim in the JWT, so to make sure those are aligned. This is a must when using OIDC.

1.5.6

10 Aug 13:50
0d70d74

Choose a tag to compare

Enhancements

  • Embedded links: We now support the option of generating an embedded link. Using the generate_embedded_link function, 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 statuses using the search_all function.

1.5.5

19 Jul 14:59
24a1b03

Choose a tag to compare

Breaking changes

  • Update of the configure_via_metadata and configure SSO functions: We've added two new parameters to the configure_via_metadata function - 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 the configure function (used for configuring SSO using connection details).
    Please notice that this breaks function signatures for both the configure_via_metadata and configure functions.

Enhancements

  • Load tenant by ID: We added an option to load a specific tenant, using the load tenant function.

1.5.4

05 Jul 14:52
2bbc9c0

Choose a tag to compare

Bug fixes

  • Return full error message: We fixed our errors so that more information will be provided when returned.

1.5.3

28 Jun 13:50
9c146db

Choose a tag to compare

Bug fixes

  • Tenant validation functions: Fixed a bug that resulted in some scenarios in which the validate_tenant_roles and validate_tenant_permissions functions returned the wrong results.

1.5.2

12 Jun 17:44
a1e5f82

Choose a tag to compare

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_token function, which retrieves the token for your application to use.
  • Delete a tenant's SAML configuration: Using the delete_settings function, 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 search audit function. For a full list of filter options see function's documentation.

1.5.1

15 May 15:15
032b0cc

Choose a tag to compare

Enhancements

  • Set and expire user passwords: You can now expire a user's password using the expire_password function, which will make the user reset it on their next authentication. There's also the option to set a new one using the set_password function; 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_session and validate_and_refresh_session functions) we aligned the response to include the session JWT claims under the sessionToken key. 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

07 May 10:57
0fda6ae

Choose a tag to compare

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_attributes property. 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 the add_to_login_ids parameter.
  • 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_settings function, 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_picture command, and user custom attributes using the update_custom_attribute command.
  • Timeouts for request: We added configurable timeouts to our request. Default is set by the DEFAULT_TIMEOUT_SECONDS property 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

20 Apr 15:32
86cab28

Choose a tag to compare

Bug fixes

  • Automatic configuration of base URL: Some Python frameworks require setting the base URL parameter manually to Descope's API. We have now fixed this behavior to automatically set the base URL correctly.

1.1.0

04 Apr 08:44
8b35ce7

Choose a tag to compare

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 - transactionID argument of the sign_up_finish function has changed to transaction_id
    • management/jwt.py - updateJWT function has changed to update_jwt

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 invite User 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_address parameter 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_all User response. Use the page parameter to define how many results should return in each page.
  • Documentation enhancements: Tiny enhancements to our SDK's README.