On 05/28/2015 11:00 PM, Timothy Worman wrote:
On May 28, 2015, at 12:26 PM, Martin Kosek <mko...@redhat.com> wrote:

On 05/28/2015 07:10 PM, Timothy Worman wrote:
On Mar 26, 2015, at 3:08 PM, Dmitri Pal <d...@redhat.com> wrote:

On 03/26/2015 03:19 PM, Timothy Worman wrote:
On Mar 26, 2015, at 11:42 AM, Martin Kosek <mko...@redhat.com> wrote:
On 03/26/2015 07:37 PM, Timothy Worman wrote:
Thanks everyone for the input.

I do agree that I don’t like the sound of option 1. I don’t want to be sending 
CLI commands from a remote host. And option 3 sounds sounds a bit brittle to me.

2 sounds like the most solid option available right now. I like the fact that 
there’s an existing/working API there. I’ll need to look into converting my 
objects into json.

This area honestly seems like one of the weakest aspects of freeipa. There 
really needs to be a way to push known person entities into the directory 
easily.
There may be some disconnect, the JSONRPC/XMLRPC API is the way we still see as 
an easy way to manipulate the entries (besides CLI and Web UI). In Python, 
adding new user is that easy:

~~~
from ipalib import api
from ipalib import errors

api.bootstrap(context='cli')
api.finalize()
api.Backend.rpcclient.connect()
api.Command['user_add'](u'newuser', givenname=u'New', sn=u'User')
~~~

What way would you suggest to make it more conforming to your use case? Are you 
suggesting REST interface doing the above or something else?
Oh, I think the JSON option is the best one currently available. But I do think 
REST-ful service would be a good idea.

I would be willing to test option 4 if that is where the future is headed.

Ok, just note that this still means LDAP interface a need to talk in LDAP 
protocol.
This may not be a bad thing if you’re using an ORM like Webobjects/EOF or 
Cayenne since you can model those ldap entities and simply set their attributes 
and insert. At a lower level JNDI will handle it. I personally prefer this over 
building strings, sending commands, etc.

So this will be ready upstream within several weeks or so. Would you test it 
once it it is available before the official upstream release?

Hi Dmitri - following up on this to see how progress is going on this project. 
I am definitely still interested in testing this. In the meantime, I have been 
pursuing http client calls posting json. And I have some questions I need to 
pursue on that as well. Should I take this to freeipa-devel?

Hello Timothy,

I am sorry we did not update this thread, but in the end we decided not to 
invest in the REST interface ourselves at this moment (read - FreeIPA 4.2), but 
rather work on stabilizing and documenting current JSON-RPC API we have as we 
believe the API is easily usable from major languages even though it is not 
RESTy. To prove our point, we need good documentation of it and examples for 
the major languages.

This is the proposal of what shall be done in FreeIPA 4.2 that I sent to 
freeipa-devel:
http://www.redhat.com/archives/freeipa-devel/2015-April/msg00061.html

I hope the way we go for the next release is acceptable for you. In the mean 
time, if you have specific questions on calling JSON from your programs, both 
freeipa-users and freeipa-devel may be suitable, depending on how deep you want 
to go in the code...

HTH,
Martin

Thanks Martin:

OK, just to verify - The staging approach (Dmitri spoke about) of inserting 
records into a staged user schema and having them inserted via a cron job is 
now off for near releases. I am anxious to see that happen.

Ah, looks I misread the thread branches about what was actually promised. The FreeIPA User Life Cycle feature (staging users can be added via LDAP and later activated) *is* going to FreeIPA 4.2 and is actually mostly implemented, it will be part of FreeIPA 4.2 Alpha release, so you can try it out then.

This is the upstream tracker:
https://fedorahosted.org/freeipa/ticket/3813

But, I am working on a java http client (apache httpclient + 
jaas/Krb5LoginModule) that posts json to the ipaserver. However, I am having 
some difficulty with kerberos negotiation and I should probably start a 
separate thread on that - either here or on freeipa-devel.

Ok. Feel free to ask. I do not expect too big problems with JSON&Kerberos. AFAIK, you do not need to even need to use JSON calls and Kerberos at the same time. With FreeIPA, you can simply login to the API via HTTPS+SPNEGO, get a session code and use that for HTTPS JSON API calls (this helps if a JSON library cannot do Kerberos auth out of the box).

Martin

--
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go to http://freeipa.org for more info on the project

Reply via email to