Hi Patrizio,
Looking at the documentation link, it appears that DUO have implemented a standard OpenID Connect (OIDC) provider based on Authorization Code flow. The flow required appears to be:
1. Call "health-check API" to ensure DUO is available (this isn't part of OIDC spec)
2. Perform standard OIDC redirect to DUO's Authorization endpoint
... DUO authentication is completed and authorization code returned to configured redirect URI
3. Call token endpoint with received authorization code and get back an OIDC JWT
4. Validate JWT (signature etc.)
5. Pull out claims from JWT to determine result of the DUO authentication.
There are 3 ways you could integrate with this OIDC endpoint:
1. The Verify Access reverse proxy can natively act as an OIDC Relying Party.
You could trigger this authentication method when DUO MFA required. After OIDC complete, claims from DUO would be in user's credential and could be checked with attribute authorization in Reverse Proxy or via Context-based Access.
2. Use OIDC RP in Federation add-on.
You would trigger appropriate OIDC RP when DUO MFA required. You could process the claims from DUO in mapping rule to set authentication level or change group memberships etc. based on MFA completion.
3. Implement the OIDC flow in a custom authentication flow.
This would be closest to what you are doing today. You'd also have the ability to do the health check here - which wouldn't be possible with the other approaches above. If you have federation add-on you could make call to STS to offload the validation of JWT from DUO. My concern with this approach would be around the redirect. For OIDC, the provider (DUO) would need to be configured with a redirect URL. Our redirect URL would need to include (dynamic) stateId in the query string so that authentication flow is reengaged. Not sure if DUO would allow this custom component in the redirect URL. You could potentially do something with 2 authentication flows and link together with DMAP - but starting to get complicated.
Perhaps someone else can suggest other approaches or comment on my ideas above.
Jon.
------------------------------
Jon Harry
Consulting IT Security Specialist
IBM
------------------------------
Original Message:
Sent: Tue March 15, 2022 01:13 PM
From: Patrizio
Subject: ISVA & Cisco DUO Universal Prompt
Thanks Jon for the reply,
some time ago we already implemented a custom solution using the DUO Auth API and a custom AAC Mapping rule.
Now this new service is out which is called Universal Prompt and it needs a user side browser redirect on DUO systems for MFA and back.
Do you have any idea how to implement what is described in the DUO documentation of this service?
https://duo.com/docs/oauthapi
Thanks in advance.
------------------------------
Patrizio
Original Message:
Sent: Mon March 14, 2022 12:27 PM
From: Jon Harry
Subject: ISVA & Cisco DUO Universal Prompt
Hi Patrizio,
DUO has a REST interface so it's likely that you *could* integrate it using a custom JavaScript module in AAC. However, it's not something that's provided out of the box and I'm not aware of anyone who has actually done this. I'd love to hear if anyone in the community has looked at this integration.
Jon.
------------------------------
Jon Harry
Consulting IT Security Specialist
IBM
Original Message:
Sent: Mon March 14, 2022 11:25 AM
From: Patrizio
Subject: ISVA & Cisco DUO Universal Prompt
Hello,
is there a way to integrate the Duo Universal Prompt into ISVA for 2FA only after login?
thanks
------------------------------
Patrizio
------------------------------