End-to-end testing Single Sign On (SSO) with Auth0

Schedule a Demo

Single Sign-on (SSO) allows a user to authenticate in one place (the identity provider) across multiple third-party applications. SSO is an essential element of managing multiple applications in a secure way, and is often a hard requirement in large enterprise software contracts.

SSO with Auth0 can be a pain to test end-to-end for a variety of reasons:

  • Testing SSO end-to-end with Auth0 introduces a dependency on the Auth0's authentication experience. If the service updates the authentication UI, you may need to update your tests.
  • Testing Auth0 SSO involves managing multiple users and multiple sets of credentials (one for the Auth0 admin and one for the test user), which can be a pain to maintain.
  • The entire SSO flow encompasses many different experiences, and is hard to test. You need to verify that granting access to a third-party app enables the user to login, but also that removing access to the third-party app blocks the user from logging in.

What's the easiest way to test SSO with Auth0?

walrus.ai enables engineers to test SSO using Auth0 without any of the pain:

  • When Auth0's UI changes, walrus.ai handles any updates needed on their end, so you never need to refactor your tests based on any third-party dependency outside of your control.
  • Writing the full end-to-end test takes minutes, because it's just written in plain English.
  • walrus.ai can handle any test setup or teardown within the test itself, simply add those steps to the test instructions.

A one-size-fits-most end-to-end test for SSO with Auth0 using walrus.ai:

1---
2name: 'Auth0 SSO'
3url: 'https://your-site.com'
4variables:
5 third_party_login_url: 'https://your-site.com'
6 Auth0_url: 'https://your-site.Auth0.com/app/UserHome'
7 Auth0_admin_email: 'Auth0_admin_emal@your-site.com'
8 Auth0_admin_password: 'Auth0_admin_email@your-site.com'
9 test_user_email: 'user_email@your-site.com'
10 test_user_password: 'Auth0_password'
11instructions:
12 - 'Login to :Auth0_url: with :Auth0_admin_email: and :Auth0_admin_password:'
13 - 'In Auth0, create a new user with the email :test_user_email:'
14 - 'In Auth0, assign :test_user_email: to your-site'
15 - 'Log out of :Auth0_url:'
16 - 'Login to :third_party_login_url: with :test_user_email:'
17 - 'Vefify login to :third_party_login_url: with :test_user_email: is successful'
18 - 'Logout of :third_party_login_url: with :test_user_email:'
19 - 'Login to :Auth0_url: with :Auth0_admin_email: and :Auth0_admin_password:'
20 - 'In Auth0, remove :test_user_email: from the your-site'
21 - 'Log out of :Auth0_url:'
22 - 'Attempt to login to :third_party_login_url: with :test_user_email:'
23 - 'Verify logging in with :test_user_email: fails'

Ready to start testing SSO with Auth0?