<div dir="ltr">All,<div><br></div><div>I am in the process of installing Shibboleth 4.2.1, and I am attempting to configure Duo (via the Nimbus client), and I am running into issues. <br><br>I have installed the module, and I have configured a custom Http Client to work with out outbound proxy. I *appear* to be communicating with Duo, but I am getting the following error from Duo in response to the health check:</div><div><br></div><div><pre class="gmail-code-java" style="margin-top:0px;margin-bottom:0px;padding:0px;max-height:30em;overflow:auto;white-space:pre-wrap;color:rgb(23,43,77);font-size:12px;background-color:rgb(244,245,247)">2023-01-12 13:48:57,330 - 10.1.142.23 - DEBUG [org.apache.http.wire:87] - http-outgoing-0 << <span class="gmail-code-quote" style="color:rgb(0,145,0)">"{"</span>stat<span class="gmail-code-quote" style="color:rgb(0,145,0)">": "</span>FAIL<span class="gmail-code-quote" style="color:rgb(0,145,0)">", "</span>code<span class="gmail-code-quote" style="color:rgb(0,145,0)">": 40002, "</span>timestamp<span class="gmail-code-quote" style="color:rgb(0,145,0)">": 1673552937, "</span>message<span class="gmail-code-quote" style="color:rgb(0,145,0)">": "</span>invalid_client<span class="gmail-code-quote" style="color:rgb(0,145,0)">", "</span>message_detail<span class="gmail-code-quote" style="color:rgb(0,145,0)">": "</span>Failed to verify signature.<span class="gmail-code-quote" style="color:rgb(0,145,0)">"}"</span></pre></div><div><br>This leads me to believe that we are correctly contacting Duo -- but it does not like what we are sending. <br><br>My duo-oidc.properties contains:<br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>idp.duo.oidc.apiHost = <a href="http://api-REDACTED.duosecurity.com">api-REDACTED.duosecurity.com</a></div><div>idp.duo.oidc.clientId = DREDACTEDA</div><div>idp.duo.oidc.redirectURL = <a href="https://REDACTED.uni.edu/idp/profile/Authn/Duo/2FA/duo-callback">https://REDACTED.uni.edu/idp/profile/Authn/Duo/2FA/duo-callback</a></div><div>idp.duo.oidc.audit.enabled = true<br><br><br></div></blockquote><div><div>My secret.properties contains:</div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>idp.duo.oidc.secretKey = 9REDACTEDX<br></div></div><div><br></div><div><br></div><div><br></div></blockquote>I have confirmed that the clientID and the secretKey match the Client ID and Client Secret in the Duo control panel, and that the Universal Prompt is enabled for this pool. <br><br><br>We have MFA set in our idp.properties:<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>idp.authn.flows= MFA</div></blockquote><div><br></div><div>and we are specifying nextFlow = "authn/DuoOIDC"; in our checkSecondFactor script, so it should be using this config.<br><br>This brings me to my questions:</div><div>1) Is there anything obvious I am overlooking?</div><div>2) Is there any way to crank up the logging for net.shibboleth.idp.plugin.authn.duo.nimbus so that I can see what clientID we are sending to Duo? If we are pulling that value from somewhere else, seeing what is sent would help locate *where*<br><br>Thanks for your time,</div><div>Jeff</div><div><br><div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><pre cols="72">Jeff Chapin,</pre>Panther eSports Adviser            <br>Systems/Applications Administrator<br>ITS-IS, University of Northern Iowa<br>Phone: 319-273-3162 Email: <a href="mailto:Jeff.Chapin@uni.edu" target="_blank">Jeff.Chapin@uni.edu</a> </div></div></div></div></div></div></div>