Search code examples
apache-flexactionscript-3airjanrainrpx

Using Janrain Engage (RPX) in Adobe Air + Flex?


I have a website using Janrain for the Log-In and I also have a desktop application (Adobe Air) that require login with the website, but I can't get it work.

My idea was to use mx:HTML container and navigate to the Janrain login system so the user can log-in, set a Token in the session and retrieve that token for further communications.

<mx:HTML x="369" y="189" location="http://www.mysite.com/auth/clientLogin.php" 
verticalScrollPolicy="on" horizontalScrollPolicy="on" width="341" height="162"/>

I can see the Janrain provider selector with my providers but when I click on "Facebook" for example, it give me errors:

TypeError: Result of expression 'aF.window' [undefined] is not an object.
at https://s3.amazonaws.com/static.rpxnow.com/js/lib/rpx.js : 1

Any Idea on how I can use my Janrain Engage log-in system in Adobe Air + Flex?


Solution

  • I figured it out!!!

    It seems that the default HTMLHost used by the HTML container do not support some javascript functions. The solution is to implement a custom HTMLHost or, the fastest way do the following:

    html.htmlHost = new HTMLHost(true);
    

    Where html is my mx:HTML object binded in ActionScript. I found the solution after searching for hours and found this page: http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7e74.html

    I'm using Adobe Air 2.5 but it seems to be the same! I hope this will be useful for someone else.