Ok so this is definitely looking better. I get an error, but at least now it is saying :
“The user admin@openidchttp is not authorized to perform login”
This is strange though, because admin in by default should be allowed access?
Anton Louw
Cloud Engineer: Storage and Virtualization
______________________________________
D: 087 805 1572 | M: N/A
A: Rutherford Estate, 1 Scott Street, Waverley, Johannesburg
anton.louw(a)voxtelecom.co.za
www.vox.co.za
From: Anton Louw
Sent: 22 April 2020 12:38
To: Artur Socha <asocha(a)redhat.com>; users(a)ovirt.org
Subject: RE: [ovirt-users] oVirt and KeyCloak intergration
Perfect, I’ll test and let you know.
Thanks
From: Artur Socha <asocha@redhat.com<mailto:asocha@redhat.com>>
Sent: 22 April 2020 12:32
To: Anton Louw
<Anton.Louw@voxtelecom.co.za<mailto:Anton.Louw@voxtelecom.co.za>>;
users@ovirt.org<mailto:users@ovirt.org>
Subject: Re: [ovirt-users] oVirt and KeyCloak intergration
+ users@ovirt.org<mailto:users@ovirt.org>
On Wed, 2020-04-22 at 09:57 +0000, Anton Louw wrote:
Hi Artur,
I would just like to make sure I am following correctly, comparing your entries against
mine.
Your setup:
...
config.mapAuthRecord.regex.pattern =
^(?<user>.*?)((\\\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$<file://(%3f%3cat%3e@)(%3f%3csuffix%3e.*%3f)@.*)(%3f%3crealm%3e@.*))$)$>
...
My setup:
…
config.mapAuthRecord.regex.pattern =
^(?<user>.*?)((\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$<file://(%3f%3cat%3e@)(%3f%3csuffix%3e.*%3f)@.*)(%3f%3crealm%3e@.*))$)$>
…
Should I add the additional 2 “\\” in on my side?
Yes, please try adding it. In my case I learned about this issue by debugging the code
because the real exception generated by incorrect regexp syntax was hidden behind generic
error message giving no clues about the true cause.
Your setup:
...
<LocationMatch
^/ovirt-engine/sso/(interactive-login-negotiate|oauth/token-http-auth)|^/ovirt-engine/callback>
<If "req('Authorization') !~ /^(Bearer|Basic)/i">
Require valid-user
AuthType openid-connect
ErrorDocument 401 "<html><meta
http-equiv=\"refresh\"content=\"0;
url=/ovirt-engine/sso/login-unauthorized\"/><body><ahref=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>"
</If>
</LocationMatch>
…
My setup:
…
<LocationMatch
^/ovirt-engine/sso/(interactive-login-negotiate|oauth/token-http-auth)|^/ovirt-engine/callback>
<If "req('Authorization') !~ /^(Bearer|Basic)/i">
Require valid-user
AuthType openid-connect
ErrorDocument 401 "<html><meta http-equiv='refresh'
content='0; url=/ovirt-engine/sso/login-unauthorized'/><body><a
href='/ovirt-engine/sso/login-unauthorized'>Here</a></body></html>"
</If>
</LocationMatch>
…
I remember I had syntax errors, but mine was changed.
Does this look fine to you?
Yeah, your version looks good too. You have ' instead of " so that is ok.
Thanks
Anton Louw
Cloud Engineer: Storage and Virtualization at Vox
________________________________
T: 087 805 0000 | D: 087 805 1572
M: N/A
E: anton.louw@voxtelecom.co.za<mailto:anton.louw@voxtelecom.co.za>
A: Rutherford Estate, 1 Scott Street, Waverley, Johannesburg
www.vox.co.za<http://www.vox.co.za>
[
F]<https://www.facebook.com/voxtelecomZA>
[
T]<https://www.twitter.com/voxtelecom>
[
I]<https://www.instagram.com/voxtelecomza>
[
L]<https://www.linkedin.com/company/voxtelecom>
[
Y]<https://www.youtube.com/user/VoxTelecom>
From: Anton Louw
Sent: 22 April 2020 10:07
To: Artur Socha <asocha@redhat.com<mailto:asocha@redhat.com>>
Subject: RE: [ovirt-users] oVirt and KeyCloak intergration
Hi Artur,
Great, I will try the below and let you know. I appreciate your efforts.
Sure, you may report it, I was in such a rush that I only hit “reply” and not “Reply
All”
I do recall that I had to make some changes to the below as the it complained about syntax
errors:
ErrorDocument 401 "<html><meta http-equiv=\"refresh\"
content=\"0; url=/ovirt-engine/sso/login-unauthorized\"/><body><a
href=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>"
</If>
</LocationMatch>
I will let you know the outcome when I change the below as you suggested.
Cheers
From: Artur Socha <asocha@redhat.com<mailto:asocha@redhat.com>>
Sent: 22 April 2020 09:51
To: Anton Louw
<Anton.Louw@voxtelecom.co.za<mailto:Anton.Louw@voxtelecom.co.za>>
Subject: Re: [ovirt-users] oVirt and KeyCloak intergration
I checked your logs and I did not notice anything suspicious.
However, now I recall I made some changes compared to blog post
example:
1) /etc/ovirt-engine/extensions.d/openid-http-mapping.properties
I added escaping in regexp for '\'
...
config.mapAuthRecord.regex.pattern =
^(?<user>.*?)((\\\\(?<at>@)(?<suffix>.*?)@.*)|(?<realm>@.*))$<file://(%3f%3cat%3e@)(%3f%3csuffix%3e.*%3f)@.*)(%3f%3crealm%3e@.*))$)$>
...
2) /etc/httpd/ovirt-openidc.conf
Escaping for '"' in error document snippet
...
<LocationMatch ^/ovirt-engine/sso/(interactive-login-
negotiate|oauth/token-http-auth)|^/ovirt-engine/callback>
<If "req('Authorization') !~ /^(Bearer|Basic)/i">
Require valid-user
AuthType openid-connect
ErrorDocument 401 "<html><meta http-equiv=\"refresh\"
content=\"0; url=/ovirt-engine/sso/login-unauthorized\"/><body><a
href=\"/ovirt-engine/sso/login-unauthorized\">Here</a></body></html>"
</If>
</LocationMatch>
...
These two issues were most probably caused by the blog site rendering.
You might want to check engine.log (or server.log not really sure which
one was that) for aaa extension initialization logs. They should
appear at the beginning just after restarting engine.
Unfortunately, at the moment I do not have running keycloak setup (I
used to have a local VM) but I will try to find some time to set it up
again once I'm done with another work item that actually consumes
almost entire disk space for my 2 machines)
Please let me know if anything changes after applying these config
changes. It this works for you then I will request the blog post to be
updated.
Do you mind if I keep(re-post) this discussion back to users@ovirt in
case other might have similar issues with keycloak integration?
A.
On Wed, 2020-04-22 at 06:35 +0000, Anton Louw wrote:
Hi Artru,
Thank you for the reply. The post [1] is actually the main source of
information I worked from in order top get everything configured. In
the post[1] I ran through the whole testing section, and everything
works as expected. I can see the VMs etc when using the python
script.
In my case we are not using ldap as a provider, I tried using
keycloak directly as a provider, I am not sure if that is where I am
going wrong?
I have attached the last part of the apache ssl_access_log when I
tried logging in this morning. I have also attached the engine log.
Thanks
Anton Louw
Cloud Engineer: Storage and Virtualization at Vox
T: 087 805 0000 | D: 087 805 1572
M: N/A
E: anton.louw@voxtelecom.co.za<mailto:anton.louw@voxtelecom.co.za>
A: Rutherford Estate, 1 Scott Street, Waverley, Johannesburg
www.vox.co.za<http://www.vox.co.za>
From: Artru Socha <asocha@redhat.com<mailto:asocha@redhat.com>>
Sent: 21 April 2020 15:20
To: Anton Louw
<Anton.Louw@voxtelecom.co.za<mailto:Anton.Louw@voxtelecom.co.za>>;
users@ovirt.org<mailto:users@ovirt.org>
Subject: Re: [ovirt-users] oVirt and KeyCloak intergration
On Tue, 2020-04-21 at 12:48 +0000, Anton Louw wrote:
>
>
> Hi Everybody,
>
>
Hi Anton,
> Has anybody gone the route of using KeyCloak to login to oVirt?
> KeyCloak has been configured and the neccesary configs have also
been
> done on the engine. It redirects perfectly from the oVirt Web Login
> page to KeyCloak, but after logging into KeyCloak, I get redirected
> back to the oVirt Web Login. When trying to login again, I get the
> below error:
>
>
>
> server_error: Missing parameter: 'params'
>
Not so long ago I managed to setup ovirt engine with keyloack (using
ldap as users provider). Hopefully, I would be able to help you with
it.
There is excellent blog post[1] available. You might also check
keycloak+ldap post [2], however, when I was working on the
integration
I was not aware of if and did not test it.
The error you mentioned does not really indicate what exactly is
wrong
but it might suggest that there is some sort of misconfiguration with
apache (you need to install and configure mod_auth_openidc as
described
at [1]). At least that happened in my case.
In case you have already gone through it you could probably check
apache logs.
Under [1] there is a python script that can be used to check api
calls,
please update username/password and test it against your environment.
Would it be possible post relevant piece of apache logs together with
engine.log ?
[1]
https://blogs.ovirt.org/2019/01/federate-ovirt-engine-authentication-to-o...
[2]
https://blogs.ovirt.org/2018/08/ovirt-saml-with-keyloak-using-389ds-user-...
Artur
> I have checked all the logs, but nothing is telling me what exactly
> the issue is.
>
> If anybody has any idea, please let me know.
>
> Thanks
>
> Anton Louw
> Cloud Engineer: Storage and Virtualization at Vox
> T: 087 805 0000 | D: 087 805 1572
> M: N/A
> E: anton.louw@voxtelecom.co.za<mailto:anton.louw@voxtelecom.co.za>
> A: Rutherford Estate, 1 Scott Street, Waverley, Johannesburg
>
www.vox.co.za<http://www.vox.co.za>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Disclaimer
> The contents of this email are confidential to the sender and the
> intended recipient. Unless the contents are clearly and entirely of
a
> personal nature, they are subject to copyright in favour of the
> holding company of the Vox group of companies. Any recipient who
> receives this email in error should immediately report the error to
> the sender and permanently delete this email from all storage
> devices.
>
> This email has been scanned for viruses and malware, and may have
> been automatically archived by Mimecast Ltd, an innovator in
Software
> as a Service (SaaS) for business. Providing a safer and more useful
> place for your human generated data. Specializing in; Security,
> archiving and compliance. To find out more Click Here.
>
>
> _______________________________________________
> Users mailing list -- users@ovirt.org<mailto:users@ovirt.org>
> To unsubscribe send an email to
users-leave@ovirt.org<mailto:users-leave@ovirt.org>
> Privacy Statement:
https://www.ovirt.org/privacy-policy.html<https://www.ovirt.org/privac...
> oVirt Code of Conduct:
>
https://www.ovirt.org/community/about/community-guidelines/<https://ww...
> List Archives:
>
https://lists.ovirt.org/archives/list/users@ovirt.org/message/S4I2I3MID4A...