[midPoint] REST authentication
Radovan Semancik
radovan.semancik at evolveum.com
Thu Dec 8 14:30:41 CET 2016
Hi Pertti,
Current midPoint REST interface implementation does not really support
this use. The REST interface was designed primarily for
backend-to-backend use. The interface haven't changed much since it was
created several years ago. We have tried to secure funding to improve
the REST interface, but for a long time it looked like this is not a
priority for midPoint subscribers.
It is unlikely that the REST interface could be easily configured for
this. Yet, it might be possible to modify midPoint code for your use
case. But I think that it will not be straighforward. The Java world is
not entirely unified when it comes to authentication and authorization.
We are using Spring Security for most of the authentication and
web-focus authorization. But the REST framework has completely separate
authentication interface. And the SOAP interface has yet another
interface. It is partially given by the fact that all the protocols have
their specifics. But another reason is that Java world (and IT world in
general) tends to reinvent the wheel over and over again.
The bottom line is that you can use the Spring Security modules for GUI
authentication. But as far as I know there is no simple way how to use
the same modules for REST authentication. Perhaps the best solution here
would be to implement OAuth support for our REST interface. There are
some REST interface improvements already planned for midPoint 3.6. But
as far as I remember no midPoint subscriber or sponsor has endorsed the
OAuth support therefore this is not even in the roadmap yet. As usual,
you have several options:
https://wiki.evolveum.com/display/midPoint/I+Need+New+Feature
Of course, it is possible to use a single "technical" user in the "SSO
gateway" (definitely NOT in the front-end). However this is far from
being ideal. MidPoint is designed to quite strictly use the identity of
the logged-in user in all the actions. Using a single "proxy" user may
have impact on the authorizations, workflows, features such as "deputy"
and especially on the audit logging. It may be OK as short-term hack.
But it is not very good as a long-term solution.
--
Radovan Semancik
Software Architect
evolveum.com
On 12/08/2016 10:43 AM, Pertti Kellomäki wrote:
> Hi Petr,
>
> 8.12.2016, 10:51, Petr Gašparík - AMI Praha a.s. kirjoitti:
>
>> REST API does not work with browser, so what is the concept of "SSO"
>> here?
>
> The setup is that there is an existing web application where the user
> interacts with the application using a browser. The application uses
> an external identity provider to authenticate the user, and the calls
> to the midPoint REST api come from the backend of the application.
> There is a 1:1 correspondance between users in the identity provider
> and users in midPoint. "SSO" may not be the technically correct term
> here, but anyway I would like to let the application backend use
> midPoint REST api as the authenticated user. There is an Apache httpd
> in front of midPoint, so it can be used for verifying tokens or
> similar tasks.
>
> Pertti
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
More information about the midPoint
mailing list