> On 21/08/2024 11:53 EEST v--- via dovecot <dovecot@dovecot.org> wrote:
> 
>  
> Hello! I'm using dovecot with keycloak for oauth authentication. My 
> config is:
> 
> client_id = dovecot
> client_secret = MY_SECRET
> introspection_url = 
> https://MY_KEYCLOAK/realms/master/protocol/openid-connect/token/introspect
> introspection_mode = post
> pass_attrs = pass=%{oauth2:access_token}
> 
> Everything worked great on version 2.3.20. After upgrading to version 
> 2.3.21.1 oauth stopped working with errors:
> 
> auth: Debug: http-client: conn [::1]:443 [1]: Got 401 response for 
> request [Req1: POST 
> https://MY_KEYCLOAK/realms/master/protocol/openid-connect/token/introspect]: 
> Unauthorized (took 5 ms + >Aug 16 00:23:58
> auth: Error: oauth2(MY_EMAIL,127.0.0.1,<HADwdb8f+PN/AAAB>): oauth2 
> failed: Introspection failed: No username returned
> 
> I tried all combination of configurations, debugging and versions of 
> keycloak. Seems something was broken in this version of dovecot.

Hi!

Release notes say

oauth2: Dovecot would send client_id and client_secret as POST parameters
          to introspection server. These need to be optionally in Basic auth
          instead as required by OIDC specification.

this is a slightly obscure way to say that you need to change your

introspection_url = https://client_id:client_secret@MY_KEYCLOAK/... 

(see 
https://github.com/dovecot/core/blob/d492236fa077cba1222695ca3267afb767235672/NEWS#L8)

Aki
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to