Guarantee privacy of your docs by authenticating users
Authentication requires users to log in before accessing your documentation. This guide covers setup for each available handshake method.
Need help choosing? See the overview to compare options.
Authentication methods are available on Growth and Enterprise plans.
Select the handshake method that you want to configure.
Generate a private key.
Integrate Mintlify authentication into your login flow.
Modify your existing login flow to include these steps after user authentication:
User
format. See Sending Data for more information./login/jwt-callback
path of your docs, including the JWT as the hash.Your documentation is hosted at docs.foo.com
with an existing authentication system at foo.com
. You want to extend your login flow to grant access to the docs while keeping your docs separate from your dashboard (or you don’t have a dashboard).
Create a login endpoint at https://foo.com/docs-login
that extends your existing authentication.
After verifying user credentials:
https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}
.When an unauthenticated user tries to access a protected page, their intended destination is preserved in the redirect to your login URL:
https://docs.foo.com/quickstart
.https://foo.com/docs-login?redirect=%2Fquickstart
.https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}
.Generate a private key.
Integrate Mintlify authentication into your login flow.
Modify your existing login flow to include these steps after user authentication:
User
format. See Sending Data for more information./login/jwt-callback
path of your docs, including the JWT as the hash.Your documentation is hosted at docs.foo.com
with an existing authentication system at foo.com
. You want to extend your login flow to grant access to the docs while keeping your docs separate from your dashboard (or you don’t have a dashboard).
Create a login endpoint at https://foo.com/docs-login
that extends your existing authentication.
After verifying user credentials:
https://docs.foo.com/login/jwt-callback#{SIGNED_JWT}
.When an unauthenticated user tries to access a protected page, their intended destination is preserved in the redirect to your login URL:
https://docs.foo.com/quickstart
.https://foo.com/docs-login?redirect=%2Fquickstart
.https://docs.foo.com/login/jwt-callback?redirect=%2Fquickstart#{SIGNED_JWT}
.Configure your OAuth settings.
Configure your OAuth server.
Create your user info endpoint (optional).
To enable personalization features, create an API endpoint that:
User
format. See Sending Data for more information.Add this endpoint URL to the Info API URL field in your authentication settings.
Your documentation is hosted at foo.com/docs
and you have an existing OAuth server at auth.foo.com
that supports the Authorization Code Flow.
Configure your OAuth server details in your dashboard:
https://auth.foo.com/authorization
ydybo4SD8PR73vzWWd6S0ObH
['docs-user-info']
https://auth.foo.com/exchange
https://api.foo.com/docs/user-info
Create a user info endpoint at api.foo.com/docs/user-info
, which requires an OAuth access token with the docs-user-info
scope, and returns:
Configure your OAuth server to allow redirects to your callback URL.
Enable Mintlify dashboard authentication.
Add authorized users.
Your documentation is hosted at docs.foo.com
and your team uses the dashboard to edit your docs. You want to restrict access to team members only.
Enable Mintlify authentication in your dashboard settings.
Verify team access by checking that all team members are added to your organization.
Password authentication provides access control only and does not support content personalization.
Create a password.
Distribute access.
Securely share the password and documentation URL with authorized users.
Your documentation is hosted at docs.foo.com
and you need basic access control without tracking individual users. You want to prevent public access while keeping setup simple.
Create a strong password in your dashboard. Share credentials with authorized users. That’s it!