[keycloak-user] Java Keycloak REST API Wrapper

Rodrigo Sasaki rodrigopsasaki at gmail.com
Fri Jul 18 12:26:45 EDT 2014


Can you help me with any hint or documentation regarding that
BearerTokenFilter implementation?

I understand that I have to create it myself, but I don't know what I
should create. I tried browsing the web, but with no success.. Perhaps I'm
missing the right keyword to find what I need


On Thu, Jul 17, 2014 at 6:36 PM, Rodrigo Sasaki <rodrigopsasaki at gmail.com>
wrote:

> That's perfect :) thanks for the help
>
> I'll get started on it as soon as I can
> On Jul 17, 2014 5:55 PM, "Bill Burke" <bburke at redhat.com> wrote:
>
>> @Path("/admin
>> public interface Admin {
>>    @Path("realms/{realm}")
>>    Realm realm(@PathParameter("realm") realmName);
>> }
>>
>> public interface Realm {
>>     @GET
>>     @Produces("application/json")
>>     RealmRepresentation get();
>>
>>     @DELETE
>>     void delete();
>>
>>     @PUT
>>     @Consumes("application/json")
>>     void update(RealmRepresentation rep);
>>
>>     @Path("users")
>>     Users users();
>> }
>>
>> public interface Users {
>>     ...
>> }
>>
>> FOllow me?
>>
>> Then its just
>>
>> ResteasyClient client = new ResteasyClientBuilder().build();
>> ResteasyWebTarget target = client.target("http://localhost:8080/auth");
>>
>> String token = ... get a token ...
>>
>> target.register(new BearerTokenFilter(token)); // you'd have to implement
>> this
>>
>> Admin admin = target.proxy(Admin.class);
>>
>> admin.realm("master")
>>
>> That's about as much help I can give you right now.
>>
>>
>>
>>
>> On 7/17/2014 11:18 AM, Rodrigo Sasaki wrote:
>>
>>> OK, will do.
>>>
>>> Is there a way for me to do it like it is there? I'll explain a little
>>> better
>>>
>>> the class *AdminRoot* has the path set to "/admin", and it has a method
>>> getRealmsAdmin, with "realms" on the path, and on the
>>> *RealmsAdminResource* there's the getRealmAdmin mapped to "{realm}",
>>> making the full path for it "/admin/realms/{realm}", even though each
>>> one is in a different class.
>>>
>>> Is there a way for me to do it the same way, I don't know how the Proxy
>>> framework would understand that, maybe I would have to set the full path
>>>
>>>
>>> On Thu, Jul 17, 2014 at 12:11 PM, Stian Thorgersen <stian at redhat.com
>>> <mailto:stian at redhat.com>> wrote:
>>>
>>>     Rodrigo: just create your own interfaces. If you can try to keep
>>>     them as consistent with jax-rs classes in services as you can that
>>>     would be great.
>>>
>>>     ----- Original Message -----
>>>      > From: "Stian Thorgersen" <stian at redhat.com <mailto:
>>> stian at redhat.com>>
>>>      > To: "Rodrigo Sasaki" <rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>, "Bill Burke" <bburke at redhat.com
>>>     <mailto:bburke at redhat.com>>
>>>      > Cc: keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > Sent: Wednesday, 16 July, 2014 2:34:44 PM
>>>      > Subject: Re: [keycloak-user] Java Keycloak REST API Wrapper
>>>      >
>>>      > Bill: does it make sense for us to share interfaces (with jax-rs
>>>     annotations)
>>>      > for services and admin-client?
>>>      >
>>>      > ----- Original Message -----
>>>      > > From: "Rodrigo Sasaki" <rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>
>>>      > > To: "Stian Thorgersen" <stian at redhat.com <mailto:
>>> stian at redhat.com>>
>>>      > > Cc: "Juraci Paixão Kröhling" <juraci at kroehling.de
>>>     <mailto:juraci at kroehling.de>>,
>>>      > > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > Sent: Wednesday, 16 July, 2014 2:31:35 PM
>>>      > > Subject: Re: [keycloak-user] Java Keycloak REST API Wrapper
>>>      > >
>>>      > > I'll get on it for sure.
>>>      > >
>>>      > > Just one thing, should I create myself the interfaces for the
>>>     services? Or
>>>      > > is there a more integrated way to do that?
>>>      > >
>>>      > >
>>>      > > On Wed, Jul 16, 2014 at 10:27 AM, Stian Thorgersen
>>>     <stian at redhat.com <mailto:stian at redhat.com>>
>>>      > > wrote:
>>>      > >
>>>      > > > Great work with the admin-client. As I commented on GitHub I
>>>     added it to
>>>      > > > 'admin-client' branch, and would like a few changes before
>>>     merging to
>>>      > > > master:
>>>      > > >
>>>      > > > * Make it use RestEasy client framwork
>>>      > > > * Tests - I've added a starting point to
>>>      > > >
>>>     https://github.com/keycloak/keycloak/blob/admin-client/
>>> testsuite/integration/src/test/java/org/keycloak/testsuite/admin/
>>> AdminClientTest.java
>>>      > > > * Better error handling - instead of swallowing exceptions it
>>>     now throws
>>>      > > > KeycloakException (RuntimeException), but there's HTTP
>>>     response codes are
>>>      > > > not checked (see above test that tries to create two users
>>>     with the same
>>>      > > > username)
>>>      > > >
>>>      > > > If you're happy to do this work that would be awesome!
>>>      > > >
>>>      > > > ----- Original Message -----
>>>      > > > > From: "Rodrigo Sasaki" <rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > To: "Stian Thorgersen" <stian at redhat.com
>>>     <mailto:stian at redhat.com>>
>>>      > > > > Cc: "Juraci Paixão Kröhling" <juraci at kroehling.de
>>>     <mailto:juraci at kroehling.de>>,
>>>      > > > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > Sent: Monday, 14 July, 2014 2:44:48 PM
>>>      > > > > Subject: Re: [keycloak-user] Java Keycloak REST API Wrapper
>>>      > > > >
>>>      > > > > Glad to hear it :)
>>>      > > > >
>>>      > > > > I'll be waiting on more replies and ideas to perhaps make
>>>     it better.
>>>      > > > > Thanks! :)
>>>      > > > >
>>>      > > > >
>>>      > > > > On Mon, Jul 14, 2014 at 10:43 AM, Stian Thorgersen
>>>     <stian at redhat.com <mailto:stian at redhat.com>>
>>>      > > > wrote:
>>>      > > > >
>>>      > > > > > Great stuff, I'll have a look at it soon. At first glance
>>>     it looks
>>>      > > > really
>>>      > > > > > good!
>>>      > > > > >
>>>      > > > > > Thanks :)
>>>      > > > > >
>>>      > > > > > ----- Original Message -----
>>>      > > > > > > From: "Rodrigo Sasaki" <rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > > > To: "Stian Thorgersen" <stian at redhat.com
>>>     <mailto:stian at redhat.com>>
>>>      > > > > > > Cc: "Juraci Paixão Kröhling" <juraci at kroehling.de
>>>     <mailto:juraci at kroehling.de>>,
>>>      > > > > > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > Sent: Monday, 14 July, 2014 2:40:17 PM
>>>      > > > > > > Subject: Re: [keycloak-user] Java Keycloak REST API
>>> Wrapper
>>>      > > > > > >
>>>      > > > > > > PR submitted :)
>>>      > > > > > >
>>>      > > > > > >
>>>      > > > > > > On Fri, Jul 11, 2014 at 9:56 AM, Stian Thorgersen
>>>      > > > > > > <stian at redhat.com <mailto:stian at redhat.com>>
>>>      > > > > > wrote:
>>>      > > > > > >
>>>      > > > > > > > Please change package names to
>>>     'org.keycloak.admin.client'
>>>      > > > > > > >
>>>      > > > > > > > ----- Original Message -----
>>>      > > > > > > > > From: "Rodrigo Sasaki" <rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > > > > > To: "Stian Thorgersen" <stian at redhat.com
>>>     <mailto:stian at redhat.com>>
>>>      > > > > > > > > Cc: "Juraci Paixão Kröhling" <juraci at kroehling.de
>>>     <mailto:juraci at kroehling.de>>,
>>>      > > > > > > > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > > > Sent: Friday, 11 July, 2014 1:51:41 PM
>>>      > > > > > > > > Subject: Re: [keycloak-user] Java Keycloak REST API
>>>     Wrapper
>>>      > > > > > > > >
>>>      > > > > > > > > Just one more question, I created it with my
>>>     companies' name in
>>>      > > > the
>>>      > > > > > > > > package, should I replace it? Or just upload it as
>>> is?
>>>      > > > > > > > >
>>>      > > > > > > > > It's br.com.icarros.keycloak.api
>>>      > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > > On Fri, Jul 11, 2014 at 4:13 AM, Stian Thorgersen <
>>>      > > > stian at redhat.com <mailto:stian at redhat.com>>
>>>      > > > > > > > wrote:
>>>      > > > > > > > >
>>>      > > > > > > > > > You can create a new module for it in:
>>>      > > > > > > > > >
>>>      > > > > > > > > > integration/admin-client
>>>      > > > > > > > > >
>>>      > > > > > > > > > ----- Original Message -----
>>>      > > > > > > > > > > From: "Rodrigo Sasaki"
>>>     <rodrigopsasaki at gmail.com <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > > > > > > > To: "Stian Thorgersen" <stian at redhat.com
>>>     <mailto:stian at redhat.com>>
>>>      > > > > > > > > > > Cc: "Juraci Paixão Kröhling"
>>>     <juraci at kroehling.de <mailto:juraci at kroehling.de>>,
>>>      > > > > > > > > > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > > > > > Sent: Thursday, 10 July, 2014 8:50:00 PM
>>>      > > > > > > > > > > Subject: Re: [keycloak-user] Java Keycloak REST
>>>     API Wrapper
>>>      > > > > > > > > > >
>>>      > > > > > > > > > > Stian, how should I send the code that I made
>>>     to the
>>>      > > > > > > > > > > Keycloak
>>>      > > > > > repo?
>>>      > > > > > > > > > >
>>>      > > > > > > > > > > Can you tell me what module name to use, and
>>>     where to
>>>      > > > > > > > > > > create
>>>      > > > it?
>>>      > > > > > > > > > >
>>>      > > > > > > > > > >
>>>      > > > > > > > > > > On Tue, Jul 8, 2014 at 10:00 AM, Rodrigo Sasaki
>>> <
>>>      > > > > > > > > > rodrigopsasaki at gmail.com
>>>     <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > > > > > > > wrote:
>>>      > > > > > > > > > >
>>>      > > > > > > > > > > > I would really like to do that :) All I'm
>>>     waiting for is
>>>      > > > an OK
>>>      > > > > > to
>>>      > > > > > > > do
>>>      > > > > > > > > > it,
>>>      > > > > > > > > > > > because it was built inside the company, so I
>>>     need
>>>      > > > approval.
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > > But I really believe it'll get a lot better
>>>     when it's out
>>>      > > > > > there,
>>>      > > > > > > > and
>>>      > > > > > > > > > you
>>>      > > > > > > > > > > > can all pitch in
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > > On Tue, Jul 8, 2014 at 9:55 AM, Stian
>>>     Thorgersen <
>>>      > > > > > stian at redhat.com <mailto:stian at redhat.com>
>>>      > > > > > > > >
>>>      > > > > > > > > > wrote:
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > >> Ideal way to contribute it to Keycloak would
>>>     be if you
>>>      > > > fork
>>>      > > > > > the
>>>      > > > > > > > > > Keycloak
>>>      > > > > > > > > > > >> repo, add a module and do a PR ;)
>>>      > > > > > > > > > > >>
>>>      > > > > > > > > > > >> ----- Original Message -----
>>>      > > > > > > > > > > >> > From: "Rodrigo Sasaki"
>>>     <rodrigopsasaki at gmail.com <mailto:rodrigopsasaki at gmail.com>>
>>>      > > > > > > > > > > >> > To: "Juraci Paixão Kröhling"
>>>     <juraci at kroehling.de <mailto:juraci at kroehling.de>>
>>>      > > > > > > > > > > >> > Cc: keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > > > > > >> > Sent: Tuesday, 8 July, 2014 1:50:14 PM
>>>      > > > > > > > > > > >> > Subject: Re: [keycloak-user] Java Keycloak
>>>     REST API
>>>      > > > Wrapper
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > Oh yes, I believe it is already very
>>> usable.
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > All I need now is to get my manager to
>>>     agree to make
>>>      > > > this
>>>      > > > > > repo
>>>      > > > > > > > > > public,
>>>      > > > > > > > > > > >> > because there is a policy that all repos
>>>     are private
>>>      > > > > > > > > > > >> > in
>>>      > > > this
>>>      > > > > > > > project
>>>      > > > > > > > > > > >> we're
>>>      > > > > > > > > > > >> > working in, but I don't think we'll have
>>>     problems with
>>>      > > > > > this. I
>>>      > > > > > > > > > pitched
>>>      > > > > > > > > > > >> him
>>>      > > > > > > > > > > >> > the idea of contributing to Keycloak and
>>>     he seemed to
>>>      > > > like
>>>      > > > > > it
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > On Tue, Jul 8, 2014 at 9:32 AM, Juraci
>>>     Paixão Kröhling
>>>      > > > > > > > > > > >> > <
>>>      > > > > > > > > > > >> juraci at kroehling.de <mailto:
>>> juraci at kroehling.de>
>>>      > > > > > > > > > > >> > > wrote:
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > -----BEGIN PGP SIGNED MESSAGE-----
>>>      > > > > > > > > > > >> > Hash: SHA512
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > Hello Rodrigo,
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > Do you have news about this? I'm working
>>>     on a task
>>>      > > > > > > > > > > >> > that
>>>      > > > > > would
>>>      > > > > > > > > > require
>>>      > > > > > > > > > > >> > me to do something similar, so, I think it
>>>     would best
>>>      > > > if we
>>>      > > > > > can
>>>      > > > > > > > > > > >> > collaborate on this API :-)
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > If/when you have some time, we could have
>>>     a chat via
>>>      > > > > > > > > > > >> > IRC
>>>      > > > > > > > > > (jpkroehling
>>>      > > > > > > > > > > >> > at #keycloak on freenode).
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > - - Juca.
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > On 06/20/2014 10:00 PM, Rodrigo Sasaki
>>> wrote:
>>>      > > > > > > > > > > >> > > I'm working on a Java-based wrapper for
>>>     the REST
>>>      > > > > > > > > > > >> > > API,
>>>      > > > to
>>>      > > > > > make
>>>      > > > > > > > it
>>>      > > > > > > > > > > >> > > look more OO, abstracting the access to
>>>     servers.
>>>      > > > > > > > > > > >> > >
>>>      > > > > > > > > > > >> > > It uses methods such as
>>>      > > > > > > > > > > >> > >
>>>      > > > > > > > > > > >> > > User bill = realm.getUser("bburke")
>>>      > > > > > List<RoleRepresentation>
>>>      > > > > > > > roles
>>>      > > > > > > > > > > >> > > =
>>>      > > > > > > > > > > >> > >
>>>     bill.getApplicationRoleMappings("customer-portal");
>>>      > > > > > > > > > > >> > >
>>>      > > > > > > > > > > >> > > It's still in it's early stages, but if
>>>     you find it
>>>      > > > > > > > interesting,
>>>      > > > > > > > > > > >> > > I'd be happy to create a repo for other
>>>     Java users
>>>      > > > > > > > > > > >> > > to
>>>      > > > use
>>>      > > > > > it,
>>>      > > > > > > > and
>>>      > > > > > > > > > > >> > > adapt it based on suggestions aswell.
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > -----BEGIN PGP SIGNATURE-----
>>>      > > > > > > > > > > >> > Version: GnuPG v2
>>>      > > > > > > > > > > >> > Comment: Using GnuPG with Thunderbird -
>>>      > > > > > > > http://www.enigmail.net/
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     iQEcBAEBCgAGBQJTu+ThAAoJEDnJtskdmzLM4PcH/jShu9J6nnV92HqSyqyy4y7d
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     snhFqt4G+aqyhdH4iiOUbV36Zb07fPnO5w7s9vcr79YLGjuAWaODIzU1D1yZxbyA
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     X4e3y5ClCSZMefHGSXoCOs7U+cVuCAUivCXBhe+hIb4pM/2krlhaS+ai3I2Ur43Z
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     5uzPS+pz983y2i1UGkhJBzqv8MVabNPq3vC+LX2bK9vEmd4Qiz0LdC9jwP23DZY9
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     srdtReO5uC0/HjtfzrNP+ErY1WpIEFAuHW5abtL7HHwvdZYNgYUIj6f8w8oGGLMp
>>>      > > > > > > > > > > >> >
>>>      > > > > >
>>>     iaHvbFMPFmuqNisDqbOWf6OtG7E3Nk2anqeUu5qcvCaPyMQA8edvgctc4a2jbJc=
>>>      > > > > > > > > > > >> > =3O4p
>>>      > > > > > > > > > > >> > -----END PGP SIGNATURE-----
>>>      > > > > > > > > > > >> >
>>>     _______________________________________________
>>>      > > > > > > > > > > >> > keycloak-user mailing list
>>>      > > > > > > > > > > >> > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > > > > > >> >
>>>     https://lists.jboss.org/mailman/listinfo/keycloak-user
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> > --
>>>      > > > > > > > > > > >> > Rodrigo Sasaki
>>>      > > > > > > > > > > >> >
>>>      > > > > > > > > > > >> >
>>>     _______________________________________________
>>>      > > > > > > > > > > >> > keycloak-user mailing list
>>>      > > > > > > > > > > >> > keycloak-user at lists.jboss.org
>>>     <mailto:keycloak-user at lists.jboss.org>
>>>      > > > > > > > > > > >> >
>>>     https://lists.jboss.org/mailman/listinfo/keycloak-user
>>>      > > > > > > > > > > >>
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > > > --
>>>      > > > > > > > > > > > Rodrigo Sasaki
>>>      > > > > > > > > > > >
>>>      > > > > > > > > > >
>>>      > > > > > > > > > >
>>>      > > > > > > > > > >
>>>      > > > > > > > > > > --
>>>      > > > > > > > > > > Rodrigo Sasaki
>>>      > > > > > > > > > >
>>>      > > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > >
>>>      > > > > > > > > --
>>>      > > > > > > > > Rodrigo Sasaki
>>>      > > > > > > > >
>>>      > > > > > > >
>>>      > > > > > >
>>>      > > > > > >
>>>      > > > > > >
>>>      > > > > > > --
>>>      > > > > > > Rodrigo Sasaki
>>>      > > > > > >
>>>      > > > > >
>>>      > > > >
>>>      > > > >
>>>      > > > >
>>>      > > > > --
>>>      > > > > Rodrigo Sasaki
>>>      > > > >
>>>      > > >
>>>      > >
>>>      > >
>>>      > >
>>>      > > --
>>>      > > Rodrigo Sasaki
>>>      > >
>>>      >
>>>      > _______________________________________________
>>>      > keycloak-user mailing list
>>>      > keycloak-user at lists.jboss.org <mailto:keycloak-user at lists.
>>> jboss.org>
>>>      > https://lists.jboss.org/mailman/listinfo/keycloak-user
>>>
>>>
>>>
>>>
>>> --
>>> Rodrigo Sasaki
>>>
>>
>> --
>> Bill Burke
>> JBoss, a division of Red Hat
>> http://bill.burkecentral.com
>>
>


-- 
Rodrigo Sasaki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-user/attachments/20140718/c252f834/attachment-0001.html 


More information about the keycloak-user mailing list