My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
DirectLoginSoapGeneralFlow  
General Flow of Direct-Login/Managing Rooms with SOAP-Gateway
Phase-Design, Phase-Implementation
Updated Oct 13, 2011 by seba.wag...@gmail.com

Content / Index

Summary

The trick about the DirectLogin-Flow (SSO) is that you can go into a room directly without having any OpenMeetings account. The Single Sign On process is a token-based process where you first request a API-HASH, then you validate the HASH, then you can access the API-methods to create conference rooms or produce another HASH that can be append to the URL to access a conference room directly.

There is a special user-level in OpenMeetings called "SOAP-Only" you should use such an account if you plan to integrate OpenMeetings in you website and need to save the user/pass of the API user in your PHP/Perl/Python website.

Recommended Scenario

You would like that people can create a conference room via your Application and return to that room several times. You only need to store the room-Id in your application logic, and the authentication data if the OpenMeetings admin user to manage the SOAP connection.

If a user wants to directly login into that room you should use this sequence:

  1. Request a general API-token: SOAP/REST API Calls: getSession
  2. Validate the API-token: SOAP/REST API Calls: loginUser
  3. Generate a URL-token: SOAP/REST API Calls: setUserObjectAndGenerateRoomHash
  4. Login into the Room, by adding the URL-token from setUserObjectAndGenerateRoomHash to the URL

The methods getSession/loginUser/setUserObjectAndGenerateRoomHash should be invoked by a Server-Side Script! Calling them directly from the Client is NOT recommended. Cause you don't want to share the USER/PASS for the loginUser-API-Call with the client, the client only should get the URL-token. This token is only one-time valid (or several times depending on which API call is in use). And that way the client cannot abuse the API to compromise your OpenMeetings server.

The HASH of setUserObjectAndGenerateRoomHash is only one time valid! For security reasons, otherwise people could take that link and send it by email and so flood the system with not-authorized access. If the Room needs password protection, then this must be implemented in the Application-Logic while managing the Room (Application Logic of the environment). Also this environment has to take care that the room will be deleted if it is not needed anymore.

URL for direct Room access: (secureHash=6c280410c96e91ea05d25e0b28b10a87 MUST be replaced with a valid HASH you create using the SOAP Gateway Method setUserObjectAndGenerateRoomHash)

Important Note:

Starting with OpenMeetings 1.1 you should use the Link like this: http://$YOUR_RED5_HOST:$YOUR_RED5_HTTP_PORT/openmeetings/?secureHash=6c280410c96e91ea05d25e0b28b10a87 (there is no typo here!! openmeetings/?param=value => that is the format of the URL!)

Older Versions of OpenMeetings: http://$YOUR_RED5_HOST:$YOUR_RED5_HTTP_PORT/openmeetings/main.swf8.swf?secureHash=6c280410c96e91ea05d25e0b28b10a87&language=4&lzproxied=solo or

(if the language_id is missing it will use the default_language_id from the configuration section)

How to set up a user as default Moderator in a Room

You may want that the Role from your system is transfered to OpenMeetings, so that for example in a ELearning application a teacher automatically is an Moderator. To force normal Users to wait in a room until the moderator has arrived you need to create the room via the method addRoomWithModeration and set the param isModeratedRoom to true. To generate a HASH for a User that then automatically is Moderator you set the param becomeModeratorAsInt to 1 in the Method setUserObjectAndGenerateRoomHash

General Flow Graph

Other ways to create a Room Hash - Invitation Hashs

Instead of creating room-hash that are intend for direct usage you might want to create some invitation hashs to send them to users via EMail.

You can use the Method: getInvitationHash to either just create an hash with limited access or password protection or you can optionally also directly send the Hash also by Mail through OpenMeetings with sendInvitationHash.

































Comment by ashwani7...@gmail.com, Aug 12, 2009

localhost 5080 USER: admin Pass: welcome123 Error

wsdl error: HTTP ERROR: Unsupported HTTP response status 404 Not Found (soapclient->response has contents of the response)

Could not login User to OpenMeetings?, check your OpenMeetings? Module Configuration.Please Help me

Comment by project member seba.wag...@gmail.com, Sep 4, 2009

please visit our mailing List to get help

Comment by galdos.a...@gmail.com, Sep 24, 2009

Is this method/flow only valid for admin users? I am trying to log in using webservice and works for admin user but not for common users.

Err message us (-26) which says that is needed administrators authorisation

Comment by peterc...@gmail.com, Sep 24, 2009

The first parameter in the method setUserObject is the Administrator's sessionID. That Id is then checked to see if the user requesting has authorization. Are you using the correct value ? Have you seen this ? http://code.google.com/p/openmeetings/wiki/MethodGateway

Comment by erav...@gmail.com, Jan 24, 2010

I managed to do this scenario in ASP.NET. However - I am trying to change the room layout (via updateRoom), but It doesn't seem to work.

How can I start a room with a specific layout (After setUserAndGenerateRoomHash) ?

Thanks, ER

Comment by philweb....@gmail.com, Jan 25, 2010

I have the same problem with jglee0318.

Please help, this is urgent.

Comment by erav...@gmail.com, Jan 28, 2010

jglee0318 and philweb.edesa

After step 3, redirect the browser to :

http://localhost:5080/openmeetings/main.swf8.swf?secureHash=" + hash + "&lzproxied=solo"

Comment by philweb....@gmail.com, Jan 28, 2010

hi, thank you for your response, but I cannot get the hash value, the page is blank at the third step?

Comment by jglee0...@gmail.com, Jan 28, 2010

I have the same problem with Philweb.

Comment by mro...@infowerk.at, Feb 16, 2010

I have the same problem too. Can someone please tell what is wrong in step 3 by jglee0318?

Comment by project member seba.wag...@gmail.com, Feb 16, 2010

hey folks :)

please consider using the Mailing List, its so much easier to bring everybody on the same page and get problems sorted out: http://groups.google.com/group/openmeetings-user

Comment by sari.int...@gmail.com, Mar 8, 2010

Hi...i want to ask for,how to install openmeetings on website??please tell me... :)

Comment by ycz...@163.com, May 16, 2010

I have the same problem with Philweb. Who can tell me how to generate the hash?

Comment by jpaol...@gmail.com, Aug 8, 2010

STEP 3, it is not working for me either. I can get a session id and login using that id with my username and password. Then I don't get any response from running any of the other methods from User/Files/Room services.

PLEASE, any help about this would be quite appreciated.

Comment by project member seba.wag...@gmail.com, Aug 9, 2010

hey folks :)

please consider using the Mailing List, its so much easier to bring everybody on the same page and get problems sorted out: http://groups.google.com/group/openmeetings-user

Comment by tonmoyte...@gmail.com, Dec 14, 2010

addRoomWithModeration function giving error

soapenv:Server: For input string: "true"

pls suggest me

Comment by shuz...@gmail.com, Dec 15, 2010

STEP 3 returns blank page too...

Comment by softjaip...@gmail.com, Feb 21, 2011

I have problem when users access room through soap method. users can't upload files and view files.

Powered by Google Project Hosting