Set up single sign-on with Okta
When you finish, your staff sign in to KeptPDF with their Okta login. New staff join your KeptPDF team the first time they sign in, as long as a seat is free.
- Your KeptPDF team on the Practice plan, and you signed in as the team owner.
- An Okta admin login.
- Access to the DNS settings for your email domain (where you bought the domain, or your IT provider).
Keep two browser tabs open the whole time: KeptPDF and Okta. You will copy values back and forth between them.
Step 1. Open single sign-on in KeptPDF (KeptPDF tab)
- Go to keptpdf.com/#/app/team and sign in as the team owner.
- Scroll to the Single sign-on card.
- Find Redirect URI and click Copy. You paste it into Okta in Step 2.
Step 2. Create the KeptPDF app in Okta (Okta tab)
- In the Okta Admin Console, click Applications, then Applications again.
- Click Create App Integration.
- Pick OIDC - OpenID Connect, then Web Application. Click Next.
- App integration name: type
KeptPDF. - Grant type: leave Authorization Code checked. Nothing else is needed.
- Sign-in redirect URIs: delete the example address and paste the Redirect URI you copied in Step 1.
- Sign-out redirect URIs: delete the example address and leave it empty.
- Controlled access: choose who may use KeptPDF.
- Allow everyone in your organization to access for the whole practice, or
- Limit access to selected groups and pick a group.
- Click Save.
Step 3. Copy three values from Okta into KeptPDF
Okta now shows your new app's General tab. Copy each value and paste it into the matching box on the KeptPDF Single sign-on card.
| KeptPDF box | Where to find it in Okta |
|---|---|
| Issuer URL | Your Okta address, for example https://yourpractice.okta.com. Copy it from your browser's address bar and remove "-admin", plus everything after ".com". |
| Client ID | Client Credentials section, Client ID. Click the copy icon. |
| Client secret | Client Secrets section. Click the copy icon next to the secret. |
yourpractice-admin.okta.com. The Issuer URL is the same address without "-admin". This is the most common mistake.Back in KeptPDF, click Save settings.
Step 4. Prove you own your email domain (KeptPDF tab, then your DNS)
- On the Single sign-on card, under Email domains, type your practice's email domain (for example
yourpractice.com) and click Add domain. - KeptPDF shows a TXT record name and a TXT record value, each with a Copy button.
- In your DNS settings, add a new record:
- Type: TXT
- Name (some hosts say Host): paste the TXT record name. If your host adds your domain on its own, paste only
_keptpdf-sso. - Value (some hosts say Content or Text): paste the TXT record value.
- Save the record. Back in KeptPDF, click Verify. If it says not found yet, wait 10 minutes and click Verify again. It can take up to an hour.
Step 5. Test it
- Click Test connection. Okta opens. Sign in with your own Okta login.
- You come back to KeptPDF and see "Test passed".
The test only checks the settings. It does not change anyone's access.
Step 6. Tell your staff how to sign in
- Go to keptpdf.com and click Sign in.
- Click Sign in with SSO and enter your work email.
- Sign in to Okta. You land in KeptPDF on the practice's team.
Optional, an Okta dashboard tile: in Okta, open the KeptPDF app, click Edit in General Settings, set Login initiated by to Either Okta or App, and paste KeptPDF's Team sign-in URL into Initiate login URI. Save.
Step 7 (optional). Require single sign-on
Turn on Require single sign-on to make everyone on your verified domains sign in through Okta. Emailed sign-in links stop working for them. You, the owner, keep your emailed link as a way back in if Okta has a problem. If you later save new settings on the Single sign-on card, this switch turns itself off until you test again.
If something goes wrong
| What you see | What to do |
|---|---|
| "The identity provider answered with the wrong issuer" or "Could not reach your identity provider" | Check the Issuer URL. It must be your Okta address without "-admin" and start with https://. |
| "Your identity provider refused the sign-in" | Copy the Client ID and Client secret again from Okta, paste them, and save. |
| An Okta error page about the redirect URI | In Okta, check that the sign-in redirect URI matches KeptPDF's Redirect URI exactly. |
| "Your email domain is not one of this team's SSO domains" | Add and verify that domain in Step 4. |
| "This team has no free seats" | On the team page, click Change seats and add a seat. |
| A staff member gets an Okta "not assigned" message | In Okta, open the KeptPDF app, then Assignments, and assign that person or their group. |
| Verify keeps saying the record is not found | Wait up to an hour. Check that the record type is TXT and that the name is not doubled (for example _keptpdf-sso.yourpractice.com.yourpractice.com). |
The card's Activity list shows each setting change, test and sign-in attempt, so you can see what happened.
Stuck? Email support@keptpdf.com with the step number and the message you see. Never email your client secret.