Api - User Login (Creating User Session)

User Login (Creating User Session)

This API can be used to create a user session in the microsite, which can then be used to initialize the browser session for general access to lms. The API is called by any user who has his/her own userid already created in the site by the site admin. The API needs to be called by a user before he/she can attempt to perform any operation in the site directly (without APIs) eg through iframe. The API returns the session info (2 strings) in the response XML.

 

API Details

Signature of API call

connection.invokeApi(String uri, String realUserName, Map<String, String> requestParameters);

See details about invoking API in general

 

Parameter 1 - URI

signinService.do

 

Parameter 2 - UserName

Username of any user of the site for whom session needs to be created

 

Parameter 3 - Request Parameters

Name Value
dispatch createSessionApi

 

Response

1. Response on successfully creating user session

HTTP Response Code = HttpServletResponse.SC_OK

Response XML

<response code="0">
    <msgs>
        <msg>
            <code>0</code>
            <value><![CDATA[Success]]></value>
        </msg>
    </msgs>

    <data>
        <session>
            <sessionId><![CDATA[9fELmIy9H165cj8KnYP0MyJP-lEA6JnpBRdSZoz4n2LZAygQHl8twc*]]></sessionId>
            <sessionInfo><![CDATA[9fELmIy9H165cj8KnYP0M_GuRpR0gTUsJ2R7IHiXfao6M1dsfDkg**]]></sessionInfo>
        </session>
    </data>
</response>

 

2. Response due to Unauthenticated call error

HTTP Response Code = HttpServletResponse.SC_UNAUTHORIZED

Response XML

<response code="-1">
    <msgs>
         <msg>
             <code>0005</code>
             <value><![CDATA[You are not allowed to perform this action.]]></value>
         </msg>
    </msgs>
</response>

 

3. Response due to inactive user

HTTP Response Code = HttpServletResponse.SC_NOT_FOUND

Response XML

<response code="-1">
    <msgs>
         <msg>
             <code>0002</code>
             <value><![CDATA[Account is inactive]]></value>
         </msg>
    </msgs>
</response>

 

Code Snippet

 

    /*  Check API Call for detail generic code */
    Map<String, String> parameters = new HashMap<String, String>();
    parameters.put("dispatch", "createSessionApi");
    String retStr = connection.invokeApi("signinService.do", "charles", parameters);
    System.out.println(retStr);

 

Using the Session Id and Session Info returned from the API to login

Once you get a successful response with session id and session info, you can construct a URL like below

https://yoursite.edubrite.com/oltpublish/site/index.do?sessionId=<session-id>&sInfo=<session-info>

You can then launch the browser with this url to login to lms. Upon first request, lms will initialize the session by dropping the session cookies via response. Once that is done, user can use the lms user interface in browser normally. These two parameters need to be passed only once.

 


Rating: