Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Error Trying To Test External Authentication

Avatar

Former Community Member
Posting this message on behalf of Ram Ramgopal, Fidelity
Investments as he's having troubles posting on the forum...



Here's the error and code. Please help!



ERROR:



SWF] C:\Documents and Settings\a246216\My Documents\Flex
Builder 3\External Authentication\bin-debug\Flexternal.swf -
1,392,212 bytes after decompression



warning: unable to bind to property 'userManager' on class
'com.adobe.rtc.session::ConnectSessionContainer'



Cocomo Beta Build # : 0.9



requestInfo
http://connectnow.acrobat.com/fidelity2/ramr?6d952f451ae24061bb93e4c532014e88&mode=xml&x=0.053577031...



Error: Error #2101: The String passed to
URLVariables.decode() must be a URL-encoded query string containing
name/value pairs.



at Error$/throwError()



at flash.net::URLVariables/decode()



at flash.net::URLVariables()



at
com.adobe.rtc.session.sessionClasses::MeetingInfoService/requestInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\sessionClasses\MeetingInfoService.as:104]



at
com.adobe.rtc.session.sessionClasses::MeetingInfoService/requestRoomInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\sessionClasses\MeetingInfoService.as:85]



at
com.adobe.rtc.session.managers::SessionManagerAdobeHostedServices/getMeetingInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\managers\SessionManagerAdobeHostedServices.as:67]



at
com.adobe.rtc.session.managers::SessionManagerAdobeHostedServices/
http://www.adobe.com/2006/connect/cocomo/session/internal::login()[C:\work\main\connect\cocomo\src\c...



at
com.adobe.rtc.session::ConnectSession/login()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\ConnectSession.as:406]



at
com.adobe.rtc.session::ConnectSessionContainer/login()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\ConnectSessionContainer.as:209]



at Flexternal/init()[C:\Documents and Settings\a246216\My
Documents\Flex Builder 3\External
Authentication\src\Flexternal.mxml:23]



at
Flexternal/___Flexternal_Application1_creationComplete()[C:\Documents
and Settings\a246216\My Documents\Flex Builder 3\External
Authentication\src\Flexternal.mxml:11]



at flash.events::EventDispatcher/dispatchEventFunction()



at flash.events::EventDispatcher/dispatchEvent()



at
mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]



at mx.core::UIComponent/set
initialized()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]



at
mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]



at Function/
http://adobe.com/AS3/2006/builtin::apply()



at
mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]



at
mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]



CODE:
3 Replies

Avatar

Employee
this example is not really using external authentication.
It's just passing some sort of unique id to the authenticator.



in order to correctly use external authentication you should
have a server-side component that build an external authentication
token (that looks like "exx=bunch-of-base64-stuff") and pass it to
the AdobeHSAuthenticator.





Avatar

Level 1
The original code, as provided in the cocomo sdk under flex
example, generates the same error. I passed roomURL and authToken
as part of FlashVars:

"FlashVars",
"roomURL=http://connectnow.acrobat.com/fidelity2/ramr&authToken=6d952f451ae24061bb93e4c532014e88"



The confusion is, it is not clear what should be the query
string. Any help is appreciated.



Error: Error #2101: The String passed to
URLVariables.decode() must be a URL-encoded query string containing
name/value pairs.

at Error$/throwError()

at flash.net::URLVariables/decode()

at flash.net::URLVariables()

at
com.adobe.rtc.session.sessionClasses::MeetingInfoService/requestInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\sessionClasses\MeetingInfoService.as:104]

at
com.adobe.rtc.session.sessionClasses::MeetingInfoService/requestRoomInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\sessionClasses\MeetingInfoService.as:85]

at
com.adobe.rtc.session.managers::SessionManagerAdobeHostedServices/getMeetingInfo()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\managers\SessionManagerAdobeHostedServices.as:67]

at
com.adobe.rtc.session.managers::SessionManagerAdobeHostedServices/
http://www.adobe.com/2006/connect/cocomo/session/internal::login()[C:\work\main\connect\cocomo\src\c...

at
com.adobe.rtc.session::ConnectSession/login()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\ConnectSession.as:406]

at
com.adobe.rtc.session::ConnectSessionContainer/login()[C:\work\main\connect\cocomo\src\com\adobe\rtc\session\ConnectSessionContainer.as:209]

at Flexternal/init()[C:\Documents and Settings\a246216\My
Documents\Flex Builder 3\External
Authentication\src\Flexternal.mxml:26]

at
Flexternal/___Flexternal_Application1_applicationComplete()[C:\Documents
and Settings\a246216\My Documents\Flex Builder 3\External
Authentication\src\Flexternal.mxml:11]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]

at
mx.managers::SystemManager/preloader_preloaderDoneHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2985]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.preloaders::Preloader/displayClassCompleteHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:434]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.preloaders::DownloadProgressBar/timerHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1451]

at
mx.preloaders::DownloadProgressBar/initCompleteHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\DownloadProgressBar.as:1503]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.preloaders::Preloader/dispatchAppEndEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:291]

at
mx.preloaders::Preloader/appCreationCompleteHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:442]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at
mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]

at mx.core::UIComponent/set
initialized()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]

at
mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]

at Function/
http://adobe.com/AS3/2006/builtin::apply()

at
mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]

at
mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]









SDK example for external authentication:

--------------------

<?xml version="1.0" encoding="utf-8"?>

<mx:Application

xmlns:mx="
http://www.adobe.com/2006/mxml"


layout="absolute"

horizontalAlign="center"

backgroundGradientAlphas="[1.0, 1.0]"

backgroundGradientColors="[#000000, #000000]"

xmlns:rtc="CocomoNameSpace"

xmlns:session="com.adobe.rtc.session.*"

xmlns:pods="com.adobe.rtc.pods.*"

xmlns:collaboration="com.adobe.rtc.collaboration.*"
applicationComplete="init()">



<mx:Script>

<![CDATA[

import mx.controls.Alert;

[Bindable]

private var roomURL:String;

[Bindable]

private var authToken:String;



private function init():void {

roomURL = Application.application.parameters["roomURL"];

authToken = Application.application.parameters["authToken"];


cSession.login();

}

]]>

</mx:Script>

<rtc:AdobeHSAuthenticator authenticationKey="{authToken}"
id="auth"/>



<session:ConnectSessionContainer

roomURL="{roomURL}"

id="cSession"

authenticator="{auth}"

autoLogin="false">



<mx:VBox borderStyle="solid"

paddingTop="10"

paddingBottom="10"

paddingLeft="5"

paddingRight="5"

width="382"

horizontalCenter="0"

top="5"

backgroundColor="#767676"

cornerRadius="15"

borderThickness="3" height="640" horizontalAlign="left">



<mx:Label text="External Authentication Sample"
color="#FAFCFC"

fontWeight="bold" width="340" textAlign="center"
fontSize="12"/>



<mx:Panel width="365" height="200" layout="absolute"

title="Current room users" color="#000000">



<mx:DataGrid

width="100%" height="100%"

dataProvider="{cSession.userManager.userCollection}">

<mx:columns>

<mx:DataGridColumn dataField="displayName"
headerText="User"/>

<mx:DataGridColumn dataField="role"
headerText="Role"/>

</mx:columns>

</mx:DataGrid>

</mx:Panel>



<mx:Panel width="365" height="235" layout="absolute"

title="Default Simple Chat" color="#000000">

<pods:SimpleChat width="100%" height="100%"/>

</mx:Panel>

</mx:VBox>



</session:ConnectSessionContainer>

</mx:Application>





Avatar

Employee
the authToken parameter should be THE RESULT of
Session.getAuthenticationToken that you called server-side.



The Flex example doesn't run without the appropriate
server-side counterpart (the purpose of External Authentication is
that you authenticate your users on your server, and then create a
token to pass to our server).



What are you running server-side and how did you "make" your
authentication token ?