Error
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
  • The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.

Wed

29

Jul

2009

JConnect - Release Candidate 1

No more Fetures >>

I've implemented all the features we were expected to do and implented some other feature which are not decided at the first such as Single Sign On. More details about JConnect features can be found here.

How it works

in this I would like to tell you some of the features(internals) and how they've implements. for this time I would like to express about authentication and single sign On from External Applications.

 

Single Sign On and Authentication

To implement Sign Sign On and Authentication into JConnect was hard for me. Because although I choosed to integrate Elgg ; JConnect should be designed in a more generalised way and could be able to use with any application.

 

So at first I choosed an OpenID framework to do that. by using that I convert Joomla into a OpenID identity povider and Elgg becomes and OpenID client. It works. and sometimes it fails on some servers and it takes a lot of process time.

Then I realized that OpenID is not the best solution for this and it does some processes that are meaning less for JConnect. So I read about how openID works and built a customized and minized version of OpenID that will work fine for JConnect.

here's the flow diagram of that Process.
JConnect Authetication and Single Sign On

  • In this sytem after an user successfully logged into Joomla (we use normal login process of Joomla) it will generate a public token and a private token based on the secret key shared by both Joomla and ExApp.
  • when ExApp get the public token It'll generate the private token based on the secret key and opens a html page via fopen() with sending this private token.
  • then in that page(Joomla) it'll check the private token is valid and if so prints the user-details as JSON. and invalidate that private key.
  • then in the ExApp it'll get the JSON of user-details and do the local login process.

OK! That's authentication where's the Single Sign On ?

  • here it is.... We use above system to do both Authentication and Single Sign On.
  • once the user-gives login details in this process Joomla! will get logged in that user.
  • then the user can go to the Joomla site and he can see he logged in.
  • And the vise versa of the this case is also the true.
  • If the user has already logged into Joomla! then in the above process it won't ask the login details from the user and just send the public key.
  • So user can logged into Elgg with out entering username password!

See it for user-self

Download and other infomation

http://jconnect.googlecode.com

Feedbacks and Next

I would really like to here feedbacks from you and if there's issue I really like to here about that. anyway in the next blog posts I would like to show about some other internals and Developer version of JConnect.

thank you!

38 Votes

6 Comments

Feed
  1. Great work !
    Any plan for connecting phplist whith this ??? ;-)
    Many thanks
  2. Yes it's possible to do ...
    and I didn't made a list of application's which is about to bridge.
    but when I put the developer API + WIKI it'll easy for any-developer to do that.
    Anyway I'll made phplist into consideration :-)

    thanks
  3. Nice man,

    At first I was wondering how would you do the SSO for all kinda external apps. Finally, yeah OpenID is the solution coz i was thinking there must be a common gateway to hook up to. :)

    Best
  4. yes ...
    OpenID is the solution ....
    but it has some parts which don't need....

    eg:-
    it use diffie-helmann to transfer a secret key between two ends but we've to pay for it..(perpofmance)...
    but in the case of JConnect we've already shared a key .. so we don't need that step....

    So I just cut-that part out from the OpenID spec and use the existing shared key..

    :-D
  5. Does jconnect allow Exapp developed by asp,jsp,asp.net?
  6. yes, we have REST Endpoint to communicate with each other..

Add Comment


    • >:o
    • :-[
    • :'(
    • :-(
    • :-D
    • :-*
    • :-)
    • :P
    • :\
    • 8-)
    • ;-)