[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [ecf-dev] authentication and file transfer API | 
Hi Folks,
As of last night, I have the ECF file transfer API provider implemented 
using apache httpclient 3.0.1.  For those that want to run it/try it out 
see the test code in org.eclipse.ecf.test.filetransfer, 
FileTransferRetrieveTest Junit plugin test.  I will be doing more test 
and example code soon.  If you can write some test code and contribute 
please do so.
But now I would like to introduce http authentication and proxy 
support.  The question is, what sort of interface do we want to expose 
through the file transfer API for authentication and proxy support?   
Another way to put this is...what sort of interface is desired?
Taking just authentication for the moment...I'll address proxy support 
in another email.
I've thought of a couple of ways to expose authentication callbacks via 
the ECF container and filetransfer API:
1) IContainer.connect(ID,IConnectContext) already supports 
authentication callbacks via the IConnectContext parameter.  We could 
simply require that callers use this existing IConnectContext callback 
interface prior to the actual file retrieve request for file transfers 
that require authentication. 
2) Add new API/interface(s) for setting the authentication info on 
IRetrieveFileTransferContainerAdapter
3) Use the options (3rd) parameter in 
IRetrieveFileTransferContainerAdapter.sendRetrieveRequest
4) Expose some other interface that I haven't thought of
At the moment, I'm inclined to suggest/use 1, as it's already a generic 
authentication callback interface (essentially the same as JAAS 
authentication).  This would mean that the file transfer provider 
implementations would have to store the IConnectContext callbacks passed 
in via IContainer.connect(), and then use them appropriately when the 
sendRetrieveRequest is actually made.
Note that if we go this route (using the IConnectContext for 
authentication for both connection-oriented AND connectionless types of 
communication), that this can/could be used for authentication for 
any/all extension interfaces (file transfer, bb api, as well as 
presence, others).
So do people have opinions/views on this?
Thanks,
Scott