On 14/10/2015 14:57, Eric Wittmann wrote:
That's
an imaginative use of apiman and it should work precisely as you
have described it. You are right that if you use applications,
then you must also have at least one plan. The API key is
necessary in this situation because the gateway will need to know
which application is calling the service (so that it can pick the
right set of policies to apply).
Yes, I understand why that is necessary.
This is because the service is being called directly through the
service owner's "path". e.g.
/apiman-gateway/ServiceOwnerOrg/service/1.0
Might it (in principle) be possible to access the service through
the the application owners "path" e.g
/apiman-gateway/AppOwnerOrg/AppName/ServiceOwnerOrg/service/1.0
Your only other solution would be a custom authentication policy,
which would obviously allow you to do whatever you wanted. In
that scenario, you will presumably still need to identify the
application/organization in some way. For example, each
application would need to identify itself via a custom http
header, or a query param, etc.
Yes, that might work. A sort of delegating authenticator that
delegates to the appropriate realm based on a header param.
But it would not allow each organisation to provide custom policies.
e.g. I have in mind that an individual organisation might want to
add user based rate limiting to prevent one of its users using all
the organisation's quota.
Tim
-Eric
On 10/14/2015 9:46 AM, Tim Dudgeon wrote:
I'm wanting to do something that may not
be possible :-)
I have a service that I want to offer to multiple organisations.
I want the users of each organisation to authenticate according
to the
needs or that organisation (e.g. against their own LDAP server).
I do not want to have to handle API keys as I have lots of
organisations
and lots of services and lots of versions of those services, so
think
managing those keys will fast become a nightmare. I am happy to
use the
service as a public service, as long as the user is
authenticated and
authorized.
e.g. I think what I want to do is create an application in each
organisation with a policy that does the authentication, and use
a
public service that does the authorization based on expected
role
granted to the user.
But the only way I can see to do this is to use plans, which
involve the
need for API keys.
Any ways to do this?
Tim
_______________________________________________
Apiman-user mailing list
Apiman-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/apiman-user