My app uses tokens to pre-authorize hosts and participants for rooms. Audience members just login using the username and password in the authenticator.
The name of the first person to login using a token is used for every additional user who logs in with a token. It doesn't matter what role they play. I can have Host login first or a participant. I've verified that the screenName passed to the getAuthenticationToken for each user is right and that the tokens are different and the proper token is being passed to the service on login... What am I missing? The audience screenNames are proper, so it seems to be related to the Tokens.
Help!!
John
Views
Replies
Total Likes
What language do you use server-side ? Also, can you send the debug messages from your client ? that should help figuring out your problem.
BTW, I am not sure I understand this " Audience members just login using the username and password in the authenticator.". Do all your audience members have an AdobeID ? Just curious.
Views
Replies
Total Likes
php.
The client doesn't throw an error. It just makes all the screen names the same except the addition numbers added for subsequent logins. So I'm not sure what you mean by debug message.
Here's how my app decides how to authenticate you. tokens are retrieved for hosts and participant prior to this.
if ( myToken != "" )
{
_view.connectSession.authenticator.authenticationKey = myToken;
}else{
_view.connectSession.authenticator.userName = settings.user.firstName" "settings.user.lastName;
_view.connectSession.authenticator.password = null;
}
_view.connectSession.login();
None of my audience members have adobeID's.
John
Views
Replies
Total Likes
Again, I need the debug logs to figure out what's going on, even if you don't get any error. Can you run your application in Flex/FlashBuilder debug mode and send me the debug messages ?
Views
Replies
Total Likes
Oh ok sure. I didn't get what you meant by debug messages.
Here's the Hosts trail:
Thu Dec 16 16:26:04 GMT-0800 2010 LCCS SDK Version : 1.3.5 Player Version : MAC 10,1,102,64
16:26:04 GMT-0800 requestInfo https://collaboration.adobelivecycle.com/cleverspring/ratioTest-20101212-134001?exx=eDpSdXNzIEV4ZWN1...
Warning: Domain collaboration.adobelivecycle.com does not specify a meta-policy. Applying default meta-policy 'master-only'. This configuration is deprecated. See http://www.adobe.com/go/strict_policy_files to fix this problem.
16:26:05 GMT-0800 #TicketService# ticket received: t3xg8ym32yzk
16:26:05 GMT-0800 Getting FMS at https://na2.collaboration.adobelivecycle.com/fms?ticket=t3xg8ym32yzk&proto=rtmfp, attempt #1/3
16:26:05 GMT-0800 result:
16:26:05 GMT-0800 protocols: ,[object ProtocolPortPair]
16:26:05 GMT-0800 Connecting to 0/1: rtmfp://fms4.acrobat.com/cocomo/na2-sdk-e4fa0e5d-5e31-4bdf-aa3c-70caee70530e/ratiotest-20101212-134001 #startProtosConnect#
16:26:06 GMT-0800 tempNetStatusHandler 0/2,NetConnection.Connect.Success
16:26:06 GMT-0800 isTunneling? false
16:26:06 GMT-0800 is using RTMPS? false
16:26:06 GMT-0800 RECEIVED LOGIN AT SESSION
16:26:06 GMT-0800 .user descriptor from server
16:26:06 GMT-0800
16:26:06 GMT-0800 .userID = EXT-CLEVERSPRING-TRAINME
16:26:06 GMT-0800 .affiliation = 100
16:26:06 GMT-0800 .displayName = Russ Executive
16:26:06 GMT-0800 RECEIVENODES UserManager
16:26:06 GMT-0800 receiveAllSynchData UserManager
16:26:06 GMT-0800 RECEIVENODES FileManager
16:26:06 GMT-0800 receiveAllSynchData FileManager
16:26:06 GMT-0800 checkManagerSync:[object FileManager]
16:26:06 GMT-0800 RECEIVENODES AVManager
16:26:06 GMT-0800 receiveAllSynchData AVManager
16:26:06 GMT-0800 checkManagerSync:[object StreamManager]
16:26:06 GMT-0800 RECEIVENODES RoomManager
16:26:06 GMT-0800 receiveAllSynchData RoomManager
16:26:06 GMT-0800 checkManagerSync:[object RoomManager]
16:26:06 GMT-0800 checkManagerSync:[object UserManager]
repeatEnd
16:26:07 GMT-0800 RECEIVENODES QA_Model
16:26:07 GMT-0800 receiveAllSynchData QA_Model
16:26:07 GMT-0800 RECEIVENODES Course_Viewer_Model
16:26:07 GMT-0800 RECEIVENODES User_Model
16:26:07 GMT-0800 receiveAllSynchData User_Model
16:26:07 GMT-0800 RECEIVENODES Ball_Model
16:26:07 GMT-0800 receiveAllSynchData Ball_Model
16:26:07 GMT-0800 RECEIVENODES Users_Publishing_Camera_Node
16:26:07 GMT-0800 receiveAllSynchData Users_Publishing_Camera_Node
16:26:07 GMT-0800 RECEIVENODES SharedCursorsCollection_
16:26:07 GMT-0800 receiveAllSynchData SharedCursorsCollection_
16:26:07 GMT-0800 RECEIVENODES User_Model
16:26:07 GMT-0800 receiveAllSynchData User_Model
16:26:07 GMT-0800 RECEIVENODES Ball_Model
16:26:07 GMT-0800 receiveAllSynchData Ball_Model
16:26:07 GMT-0800 RECEIVENODES Users_Publishing_Camera_Node
16:26:07 GMT-0800 receiveAllSynchData Users_Publishing_Camera_Node
here's the participants trail
Thu Dec 16 16:28:31 GMT-0800 2010 LCCS SDK Version : 1.3.5 Player Version : MAC 10,1,102,64
16:28:31 GMT-0800 requestInfo https://collaboration.adobelivecycle.com/cleverspring/ratioTest-20101212-134001?exx=eDpSdXNzIE1hbmFn...
Warning: Domain collaboration.adobelivecycle.com does not specify a meta-policy. Applying default meta-policy 'master-only'. This configuration is deprecated. See http://www.adobe.com/go/strict_policy_files to fix this problem.
16:28:32 GMT-0800 #TicketService# ticket received: 1cjh5wiil4us4
16:28:32 GMT-0800 Getting FMS at https://na2.collaboration.adobelivecycle.com/fms?ticket=1cjh5wiil4us4&proto=rtmfp, attempt #1/3
16:28:32 GMT-0800 result:
16:28:32 GMT-0800 protocols: ,[object ProtocolPortPair]
16:28:32 GMT-0800 Connecting to 0/1: rtmfp://fms4.acrobat.com/cocomo/na2-sdk-e4fa0e5d-5e31-4bdf-aa3c-70caee70530e/ratiotest-20101212-134001 #startProtosConnect#
16:28:32 GMT-0800 tempNetStatusHandler 0/2,NetConnection.Connect.Success
16:28:32 GMT-0800 isTunneling? false
16:28:32 GMT-0800 is using RTMPS? false
16:28:33 GMT-0800 RECEIVED LOGIN AT SESSION
16:28:33 GMT-0800 .user descriptor from server
16:28:33 GMT-0800
16:28:33 GMT-0800 .userID = EXT-CLEVERSPRING-TRAINME
16:28:33 GMT-0800 .affiliation = 50
16:28:33 GMT-0800 .displayName = Russ Manager
16:28:33 GMT-0800 RECEIVENODES UserManager
16:28:33 GMT-0800 receiveAllSynchData UserManager
16:28:33 GMT-0800 RECEIVENODES FileManager
16:28:33 GMT-0800 receiveAllSynchData FileManager
16:28:33 GMT-0800 checkManagerSync:[object FileManager]
16:28:33 GMT-0800 RECEIVENODES AVManager
16:28:33 GMT-0800 receiveAllSynchData AVManager
16:28:33 GMT-0800 checkManagerSync:[object StreamManager]
16:28:33 GMT-0800 RECEIVENODES RoomManager
16:28:33 GMT-0800 receiveAllSynchData RoomManager
16:28:33 GMT-0800 checkManagerSync:[object RoomManager]
16:28:33 GMT-0800 checkManagerSync:[object UserManager]
repeatEnd
16:28:33 GMT-0800 RECEIVENODES QA_Model
16:28:33 GMT-0800 receiveAllSynchData QA_Model
16:28:33 GMT-0800 RECEIVENODES Course_Viewer_Model
16:28:34 GMT-0800 RECEIVENODES User_Model
16:28:34 GMT-0800 receiveAllSynchData User_Model
16:28:34 GMT-0800 RECEIVENODES Ball_Model
16:28:34 GMT-0800 receiveAllSynchData Ball_Model
16:28:34 GMT-0800 RECEIVENODES Users_Publishing_Camera_Node
16:28:34 GMT-0800 receiveAllSynchData Users_Publishing_Camera_Node
16:28:34 GMT-0800 RECEIVENODES SharedCursorsCollection_
16:28:34 GMT-0800 receiveAllSynchData SharedCursorsCollection_
16:28:34 GMT-0800 RECEIVENODES User_Model
16:28:34 GMT-0800 receiveAllSynchData User_Model
16:28:34 GMT-0800 RECEIVENODES Ball_Model
16:28:34 GMT-0800 receiveAllSynchData Ball_Model
16:28:34 GMT-0800 RECEIVENODES Users_Publishing_Camera_Node
16:28:34 GMT-0800 receiveAllSynchData Users_Publishing_Camera_Node
thanks,
John
Views
Replies
Total Likes
You are using the same "unique user ID" for both host and participant (the TRAINME in EXT-CLEVERSPRING-TRAINME) so when the two users login they actually become the same users in LCCS (and either the second one override the first or it gets ignored).
You need to use different user IDs when you create the authentication token. Assuming those users login into your system first (and you do have a unique id for them) you should use that value for LCCS too (or if you don't trust us and you are 100% sure that users have all unique names you could use an hash of their displayName)
Views
Replies
Total Likes
Raf,
Thanks for you quick response. I guess I'm unclear on what your saying again. Here's the php that's getting the token.
/**
Gets an Adobe token for a user/role from the AFCS service.
*
@param string $screenName Name this user will display as.
@param string $password Password this user will use.
@param string $livePermission The user's role integer.
@return string Contains token on success.
*/
public function getToken($roomName, $screenName, $password, $livePermission) {
$session = $account->getSession($roomName);
$token = $session->getAuthenticationToken($secret, $screenName, $password, $livePermission);
return $token;
}
I don't see a user ID. We do have unique ids for each user, but I"m not sure how to deliver this to the service.
John
Views
Replies
Total Likes
This is the definition of getAuthentication token (from lccs.php) :
/**
* get an external authentication token
*/
function getAuthenticationToken($accountSecret, $name, $id, $role)
This is the javadoc (same interface) :
/**
* Get an external authentication token for a user
*
* @param accountSecret account secret (from DevPortal)
* @param name user name
* @param id user ID
* @param role user role
* @return external authentication token as HTTP request parameter
* @throws Exception
* @see UserRoles
*/
I am not sure of where you got that you need to pass the user password to LCCS. Again, in your logs it shows that both users have a userID (or password in your case) of "TRAINME".
You need to pass your unique ID as the "$id" parameter of getAuthenticationToken.
Views
Replies
Total Likes
Raf,
Thanks not sure what happened my backend guy must have gotten confused. Thanks for clearing it up.
John
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies