diff --git a/guides/active-directory-pingfederate.md b/guides/active-directory-pingfederate.md
index 37a048b0..8e39b4ce 100644
--- a/guides/active-directory-pingfederate.md
+++ b/guides/active-directory-pingfederate.md
@@ -321,7 +321,38 @@ The value is `memberOf`.
jumbo={true}
/>
-## Confirm QuestDB Mappings, login
+## Enable Resource Owner Password Credentials (ROPC) flow
+
+As described in the
+[OIDC operations document](/docs/operations/openid-connect-oidc-integration/#enable-ropc)
+tools - such as `psql` - can be integrated with the OIDC provider using the ROPC flow.
+
+When setting this flow up, enable the Resource Owner Password Credentials flow in the
+client settings:
+
+
+
+Next, create a Resource Owner Credentials Grant Mapping to map values obtained from
+the Password Credential Validator (PCV) into the persistent grants.
+
+When setting this up, select the previously created LDAP Data Source and IdP Adapter, which links
+to the existing PCV.
+
+Then select the `username` attribute of the PCV as `USER_KEY`:
+
+
+
+## Confirm QuestDB mappings and login
QuestDB requires a mapping, as laid out in the
[OIDC operations document](/docs/operations/openid-connect-oidc-integration/#mapping-user-permissions).
@@ -329,7 +360,7 @@ QuestDB requires a mapping, as laid out in the
If a given user has the HTTP permission, they will be able to now login via the
[Web Console](/docs/web-console/).
-Head to [http://localhost:9000](http://localhost:9000) and login, to test.
+To test, head to [http://localhost:9000](http://localhost:9000) and login.
If all has been wired up well, then login will succeed.
diff --git a/operations/openid-connect-oidc-integration.mdx b/operations/openid-connect-oidc-integration.mdx
index 22a6cac6..c1db2227 100644
--- a/operations/openid-connect-oidc-integration.mdx
+++ b/operations/openid-connect-oidc-integration.mdx
@@ -3,7 +3,7 @@ title: OpenID Connect (OIDC) Integration
description: ""
---
-import Screenshot from "@theme/Screenshot"
+import Screenshot from "@theme/Screenshot";
OpenID Connect (OIDC) integrates with Identity Providers (IdP) external to
QuestDB.
@@ -438,7 +438,7 @@ with request.urlopen(req) as f:
access_token = resp["access_token"]
```
-#### Enable ROPC in QuestDB
+#### Enable ROPC
The Resource Owner Password Credentials flow can be enabled in QuestDB within
`server.conf`:
@@ -447,6 +447,10 @@ The Resource Owner Password Credentials flow can be enabled in QuestDB within
acl.oidc.ropc.flow.enabled = true
```
+> Note that the flow also has to be configured in the OAuth2/OIDC provider.
+> See an example using
+> [PingFederate with Active Directory](/docs/guides/active-directory-pingfederate/#enable-resource-owner-password-credentials-ropc-flow).
+
Now we can use Basic Authentication to simplify our code. We send the
credentials to QuestDB, and the database will validate the credentials against
the OAuth2 provider.