Duo Security

Web SDK v2 Repository Deprecation Frequently Asked Questions

last updated June 24th, 2022

When will the Web SDK v2 GitHub repositories be deprecated?

The GitHub repositories will be deprecated July 18, 2022.

I'm using the Universal Prompt, does this affect me?

No. Duo is only deprecating the older, non-Universal Prompt Web SDK repositories (also known as the Web SDK v2 repositories).

How do I know if I'm using Web SDK v2 or the Universal Prompt?

If the repository you are using begins with "duo_universal", it is a Universal Prompt repository and is not affected by this deprecation. It it begins with "duo_api" or "duo_client", that is an Auth API client and not affected by this deprecation. The affected Web SDK v2 repositories are listed below in the "Which GitHub repositories are being deprecated?" question.

Will my Web SDK v2 integrations still work?

For now, yes, Web SDK v2 integrations will continue to function. This deprecation only applies to GitHub repositories for the older, Web SDK v2 clients. However, we recommend upgrading to the Universal Prompt for the improved user experience and additional features. Note that Duo has announced that the Traditional (iframe based) Prompt aka Web SDK v2 based integrations will reach end of life on March 30, 2024.

Can I keep using the Web SDK v2 GitHub repositories after they are deprecated?

Yes. The GitHub repositories will be archived, but remain public. You can still fork, clone, or pull from them; though as noted, it is unlikely they will receive any updates.

Can I still create Duo Web SDK v2 integrations that use the deprecated Web SDK v2 GitHub repositories?

Yes. This deprecation does not change anything in the Duo cloud service.

Why is Duo deprecating the Web SDK v2 GitHub repositories?

Duo only plans to implement new functionality in the Universal Prompt, and therefore strongly encourages that applications migrate away from the older Web SDK v2 clients to the Universal Prompt clients. We are deprecating the older GitHub repositories to communicate that they will not be in active development.

Which GitHub repositories are being deprecated?

All repositories related to Web SDK v2 integrations that do not use the Universal Prompt. The full list is:

How do I upgrade an application to the Universal Prompt?

There are a variety of options. Please see our Universal Prompt Update Guide for an overview of the update process.

Duo has published multiple Universal Prompt client libraries, both to GitHub and online package managers:

You can find a step-by-step example of updating an existing Web SDK v2 application to the Universal Prompt here.

Another option for web applications with OIDC support is to use our OIDC-based API. See our documentation for more information.

And for web applications with SAML support, consider implementing the best of both worlds with Duo Single Sign-On and/or Duo Passwordless

What does deprecation of the Web SDK v2 GitHub repositories mean?

Primarily, it means no feature work is planned on the GitHub repositories. It is also unlikely that any new versions will be released, except in the case of significant security vulnerabilities being found. The GitHub repositories will be archived and no longer accept issue reports or pull requests.

What will happen to the Web SDK v2 packages in package managers, for example PyPi?

These packages will be deprecated in the package managers. This generally means the packages will remain available for use, but will emit warnings about deprecation. The packages will not receive updates or new releases, except in the case of a significant security vulnerability.

This applies only to the older Web SDK v2 packages, not the Universal Prompt client packages - those continue to be supported. The packages in package managers that will be deprecated are:

What about Web SDK v2 GitHub repositories that don't have a Universal Prompt version? Like duo_ruby or duo_perl?

Even though there are no replacements at this time, we will still be deprecating this category of repositories. To implement a Universal Prompt integration in one of these languages or applications, you can use the Duo OIDC Auth API described at https://duo.com/docs/oauthapi.