[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wsf-c-dev
Subject:    Re: [Dev] [IS] Architecture - API to Retrieve Authentication Session Information
From:       Pamoda Wimalasiri <pamoda () wso2 ! com>
Date:       2019-06-17 10:21:38
Message-ID: CAGSwOjpPe7Qm3fDkmf5U6KGuv=9UhEJ7SKxkjUGCaqw12cEFvw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/related)]

[Attachment #4 (multipart/alternative)]


Hi all,

I am continuing this effort of implementing the APIs to retrieve
authentication session information. I have changed the API definitions
slightly according to the latest requirements.
New API definitions can be found here
<https://app.swaggerhub.com/apis/pamoda/SessionManagementAPI/1.0.0> [1].
The progress of the solution will be tracked in this git issue
<https://github.com/wso2/product-is/issues/5769>[2].

[1] https://app.swaggerhub.com/apis/pamoda/SessionManagementAPI/1.0.0
[2] https://github.com/wso2/product-is/issues/5769

Thanks,
Pamoda

On Mon, Sep 10, 2018 at 12:40 PM Pushpalanka Jayawardhana <lanka@wso2.com>
wrote:

> + Rizmeer
>
> On Wed, Sep 5, 2018 at 11:18 AM Ruwan Abeykoon <ruwana@wso2.com> wrote:
>
>> Hi All,
>> +1 for Dulanja suggestion (If i get it correctly) - The API should be
>> able to query with "UserID" and not based on "sessionID". We can use
>> "SessionID" as an authentication mechanism, if necessary.
>>
>> e.g. /api/sessions/v1.0/users/{userId}   // This is for illustration
>> only, we need to come up with proper scheme.
>> The userID should be either plain or encrypted based on privacy setting.
>>
>> Yes, this should replace the Analytics based session counting. Session
>> tracking should be part and parcel with the product.
>>
>> Cheers,
>> Ruwan
>>
>> On Wed, Sep 5, 2018 at 10:39 AM Dulanja Liyanage <dulanja@wso2.com>
>> wrote:
>>
>>> So that means the user will have to grab the commonauthId values from
>>> all the browsers (in different devices) in order to get different session
>>> information. IMO there should be a way the user can view all his/her
>>> sessions via a single API call.
>>>
>>> Currently, a user can view all his/her sessions from the IS Dashboard
>>> [1], and that is powered by IS Analytics. Is this new feature trying to
>>> replace that? If so, there should be an API to retrieve all the sessions.
>>> If that is not the purpose of this feature, I'd like to understand the
>>> real-world usage of this new API.
>>>
>>> [1] https://docs.wso2.com/display/IS560/Terminating+User+Sessions
>>>
>>> Thanks,
>>> Dulanja
>>>
>>> On Wed, Sep 5, 2018 at 10:08 AM, Chuhaashanan Nagenthiran <
>>> chuhaashanan@wso2.com> wrote:
>>>
>>>> Here, SessionID is got from the cookie and user makes the API call by
>>>> using the sessionID.
>>>>
>>>> Thanks.
>>>>
>>>> On Tue, Sep 4, 2018 at 5:32 PM, Dulanja Liyanage <dulanja@wso2.com>
>>>> wrote:
>>>>
>>>>> In that case, how does the user get hold of the SessionID to do the
>>>>> API call? Does s/he has to get it from the cookie? or is there another API
>>>>> that provides all the commonauthId values that were generated for all
>>>>> the browser sessions?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> On Tue, Sep 4, 2018 at 2:39 PM, Chuhaashanan Nagenthiran <
>>>>> chuhaashanan@wso2.com> wrote:
>>>>>
>>>>>> Hi Dulanja,
>>>>>>
>>>>>> Yes. SessionID is the same value in commonauth cookie.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> On Tue, Sep 4, 2018 at 12:48 PM, Dulanja Liyanage <dulanja@wso2.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Chuhaashanan,
>>>>>>>
>>>>>>> How is this SessionID generated? Is it same as the value of
>>>>>>> commonauthId cookie?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Dulanja
>>>>>>>
>>>>>>> On Mon, Sep 3, 2018 at 6:16 PM, Chuhaashanan Nagenthiran <
>>>>>>> chuhaashanan@wso2.com> wrote:
>>>>>>>
>>>>>>>> +1
>>>>>>>>
>>>>>>>> On Mon, Sep 3, 2018 at 5:42 PM, Ruwan Abeykoon <ruwana@wso2.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Chuhaashanan,
>>>>>>>>> It would be much extensible if "Session" table has JSON structure
>>>>>>>>> or something along, having "Browser, OS, Location" etc.
>>>>>>>>> Reason is that, Browser info has lot of sub units (e.g. Engine,
>>>>>>>>> Version), OS (Type, Version, Distribution), Location(Country, City,
>>>>>>>>> Coordinates)
>>>>>>>>> Also we might need Device.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Ruwan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Aug 15, 2018 at 2:09 PM Chuhaashanan Nagenthiran <
>>>>>>>>> chuhaashanan@wso2.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>>
>>>>>>>>>> *Problem*
>>>>>>>>>>
>>>>>>>>>> A user may wants to view his recently or currently logged in
>>>>>>>>>> session details and terminate a currently logged in acc. But wso2 IS server
>>>>>>>>>> does not provide this function now.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Solution*
>>>>>>>>>>
>>>>>>>>>> Develop an API to provide following functionalities.
>>>>>>>>>>
>>>>>>>>>>    - Retrieve information of currently logged in and recently
>>>>>>>>>>    used sessions since last password changes.
>>>>>>>>>>    - Retrieve Time, location, OS and browser details of each
>>>>>>>>>>    session Logged in and recently used.
>>>>>>>>>>    - Terminate a particular logged in account.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Retrieve session information*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> * - User can view his currently logged in details and recently
>>>>>>>>>> used session information. In each session, information about last time
>>>>>>>>>> used, location, browser and OS details.- To view information, user has to
>>>>>>>>>> request HTTP GET request with SessionID and can query by ServiceProvider
>>>>>>>>>> detail for particular account. Then API will query alive UserID for given
>>>>>>>>>> details and produce required information for user.*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Terminate a particular account*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    - If a user or admin wants to logged out from a logged in
>>>>>>>>>>    account, he can terminate particular account session.
>>>>>>>>>>    - If Identity Provider/ Service Provider/ User Account is
>>>>>>>>>>    deleted by admin, session will be automatically terminated by event
>>>>>>>>>>    listeners.
>>>>>>>>>> - *To terminate an account, user has to request HTTP POST
>>>>>>>>>>    request with SessionID and can query by ServiceProvider detail for
>>>>>>>>>>    particular account. Then API will query alive UserID for given details and
>>>>>>>>>>    terminate account.*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *Database design*
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>    - *UserID* which is mapped to* IDP, IDP UserID* and *Service
>>>>>>>>>>    Provider* is used to identify unique account.
>>>>>>>>>>    - Through *UserID*, information of particular account will be
>>>>>>>>>>    provided.
>>>>>>>>>>    - In *Session* table, details of *Browser, OS* and *Location*
>>>>>>>>>>    will not be used in query. So we can store this information as JSON object.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Chuhaashanan
>>>>>>>>>> Intern - Software Engineering
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> *Ruwan Abeykoon*
>>>>>>>>> *Associate Director/Architect**,*
>>>>>>>>> *WSO2, Inc. http://wso2.com <https://wso2.com/signature> *
>>>>>>>>> *lean.enterprise.middleware.*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Chuhaashanan
>>>>>>>> Intern - Software Engineering
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Dev mailing list
>>>>>>>> Dev@wso2.org
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Thanks & Regards,
>>>>>>> Dulanja Liyanage
>>>>>>> Lead, Platform Security Team
>>>>>>> WSO2 Inc.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Chuhaashanan
>>>>>> Intern - Software Engineering
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Thanks & Regards,
>>>>> Dulanja Liyanage
>>>>> Lead, Platform Security Team
>>>>> WSO2 Inc.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Chuhaashanan
>>>> Intern - Software Engineering
>>>>
>>>>
>>>
>>>
>>> --
>>> Thanks & Regards,
>>> Dulanja Liyanage
>>> Lead, Platform Security Team
>>> WSO2 Inc.
>>>
>>
>>
>> --
>>
>> *Ruwan Abeykoon*
>> *Associate Director/Architect**,*
>> *WSO2, Inc. http://wso2.com <https://wso2.com/signature> *
>> *lean.enterprise.middleware.*
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>
>
> --
> Pushpalanka.
> --
> Pushpalanka Jayawardhana, B.Sc.Eng.(Hons).
> Senior Software Engineer, WSO2 Lanka (pvt) Ltd;  wso2.com/
> Mobile: +94779716248
> Blog: pushpalankajaya.blogspot.com/ | LinkedIn:
> lk.linkedin.com/in/pushpalanka/ | Twitter: @pushpalanka
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>


-- 
*Pamoda Wimalasiri | *Software Engineer | WSO2 Inc.
(m) +94713705814 | (w) +94112145345 | (e) pamoda@wso2.com

<http://wso2.com/signature>

[Attachment #7 (text/html)]

<div dir="ltr">Hi all,<div><br></div><div>I am continuing this effort of implementing \
the APIs to retrieve authentication session information. I have changed the API \
definitions slightly according to the latest requirements.</div><div>New API \
definitions can be found  <a \
href="https://app.swaggerhub.com/apis/pamoda/SessionManagementAPI/1.0.0">here</a>  \
[1].  </div><div>The progress of the solution will be tracked in this <a \
href="https://github.com/wso2/product-is/issues/5769">git \
issue</a>[2].</div><div><br></div><div>[1]  <a \
href="https://app.swaggerhub.com/apis/pamoda/SessionManagementAPI/1.0.0">https://app.swaggerhub.com/apis/pamoda/SessionManagementAPI/1.0.0</a></div><div>[2] \
<a href="https://github.com/wso2/product-is/issues/5769">https://github.com/wso2/produ \
ct-is/issues/5769</a></div><div><br></div><div>Thanks,</div><div>Pamoda</div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 10, 2018 at 12:40 \
PM Pushpalanka Jayawardhana &lt;<a \
href="mailto:lanka@wso2.com">lanka@wso2.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr">+ Rizmeer<br><br><div \
class="gmail_quote"><div dir="ltr">On Wed, Sep 5, 2018 at 11:18 AM Ruwan Abeykoon \
&lt;<a href="mailto:ruwana@wso2.com" target="_blank">ruwana@wso2.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi \
All,<div>+1 for Dulanja suggestion (If i get it correctly) - The API should be able \
to query with &quot;UserID&quot; and not based on &quot;sessionID&quot;. We can use \
&quot;SessionID&quot; as an authentication mechanism, if \
necessary.<br></div><div><br></div><div>e.g. /api/sessions/v1.0/users/{userId}     // \
This is for illustration only, we need to come up with proper scheme.</div><div>The \
userID should be either plain or encrypted based on privacy \
setting.</div><div><br></div><div>Yes, this should replace the Analytics based \
session counting. Session tracking should be part and parcel with the \
product.</div><div><br></div><div>Cheers,</div><div>Ruwan</div></div><br><div \
class="gmail_quote"><div dir="ltr">On Wed, Sep 5, 2018 at 10:39 AM Dulanja Liyanage \
&lt;<a href="mailto:dulanja@wso2.com" target="_blank">dulanja@wso2.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div \
dir="ltr">So that means the user will have to grab the <span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">commonauthId \
values from all the browsers (in different devices) in order to get different session \
information. IMO there should be a way the user can view all his/her sessions via a \
single API call.  </span><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Currently, \
a user can view all his/her sessions from the IS Dashboard [1], and that is powered \
by IS Analytics. Is this new feature trying to replace that? If so, there should be \
an API to retrieve all the sessions. If that is not the purpose of this feature, \
I&#39;d like to understand the real-world usage of this new \
API.</span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">[1] \
<a href="https://docs.wso2.com/display/IS560/Terminating+User+Sessions" \
target="_blank">https://docs.wso2.com/display/IS560/Terminating+User+Sessions</a></span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Thanks,</span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Dulanja</span></div></div></div><div \
class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 5, 2018 at 10:08 AM, \
Chuhaashanan Nagenthiran <span dir="ltr">&lt;<a href="mailto:chuhaashanan@wso2.com" \
target="_blank">chuhaashanan@wso2.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Here, SessionID is got from \
the cookie and user makes the API call  by using the sessionID. \
<br></div><div><br></div><div>Thanks.<br></div></div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069HOEnZb"><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069h5"><div \
class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 4, 2018 at 5:32 PM, \
Dulanja Liyanage <span dir="ltr">&lt;<a href="mailto:dulanja@wso2.com" \
target="_blank">dulanja@wso2.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr">In that case, how does the user get \
hold of the  <span style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">SessionID \
to do the API call? Does s/he has to get it from the cookie? or is there another API \
that provides all the  <span \
style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span \
style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">commonauthId \
values that were generated for all the browser sessions?  \
</span></span></span><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span \
style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span \
style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></span></div><div><span \
style="font-size:12.8px;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span \
style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span \
style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Thanks.</span></span></span></div><div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_256169995582597298h5"><div \
class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 4, 2018 at 2:39 PM, \
Chuhaashanan Nagenthiran <span dir="ltr">&lt;<a href="mailto:chuhaashanan@wso2.com" \
target="_blank">chuhaashanan@wso2.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi \
Dulanja,</div><div><br></div><div>Yes. SessionID is the same value in commonauth \
cookie.</div><div><br></div><div>Regards,<br></div><div class="gmail_extra"><br><div \
class="gmail_quote"><span>On Tue, Sep 4, 2018 at 12:48 PM, Dulanja Liyanage <span \
dir="ltr">&lt;<a href="mailto:dulanja@wso2.com" \
target="_blank">dulanja@wso2.com</a>&gt;</span> wrote:<br></span><div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_256169995582597298m_-2286969995783684284m_-185518401171538198h5"><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi \
Chuhaashanan,<br></div><div dir="ltr"><br></div><div dir="ltr">How is this SessionID \
generated? Is it same as the value of commonauthId cookie?</div><div \
dir="ltr"><br></div><div>Thanks,</div><div>Dulanja</div></div><div \
class="gmail_extra"><br><div class="gmail_quote"><div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739h5">On \
Mon, Sep 3, 2018 at 6:16 PM, Chuhaashanan Nagenthiran <span dir="ltr">&lt;<a \
href="mailto:chuhaashanan@wso2.com" \
target="_blank">chuhaashanan@wso2.com</a>&gt;</span> \
wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739h5"><div \
dir="ltr">+1<br></div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278HOEnZb"><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278h5"><div \
class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 3, 2018 at 5:42 PM, \
Ruwan Abeykoon <span dir="ltr">&lt;<a href="mailto:ruwana@wso2.com" \
target="_blank">ruwana@wso2.com</a>&gt;</span> wrote:<br><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Chuhaashanan,<br>It would be \
much extensible if &quot;Session&quot; table has JSON structure or something along, \
having &quot;Browser, OS, Location&quot; etc.<br>Reason is that, Browser info has lot \
of sub units (e.g. Engine, Version), OS (Type, Version, Distribution), \
Location(Country, City, Coordinates)<br>Also we might need \
Device.<br><br>Cheers,<br>Ruwan<br><div><font face="Roboto, RobotoDraft, Helvetica, \
Arial, sans-serif" color="#202124"><span \
style="font-size:0.875rem;letter-spacing:0.2px;white-space:nowrap"><br></span></font></div></div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278m_-6093266918205947745HOEnZb"><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278m_-6093266918205947745h5"><br><div \
class="gmail_quote"><div dir="ltr">On Wed, Aug 15, 2018 at 2:09 PM Chuhaashanan \
Nagenthiran &lt;<a href="mailto:chuhaashanan@wso2.com" \
target="_blank">chuhaashanan@wso2.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Hi \
All,</span></div><div><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></b></div><div><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Problem</span></b></div><div><p \
dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">A \
user may wants to view his recently or currently logged in session details and \
terminate a currently logged in acc. But wso2 IS server does not provide this \
function now.</span></p><p dir="ltr" \
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></p><p \
dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Solution</span></b></p><p \
dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Develop \
an API to provide following functionalities.</span></p><ul><li><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Retrieve \
information of </span><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">currently \
logged in</span><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> \
and </span><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-c \
olor:transparent;font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">recently \
used</span><span style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-c \
olor:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> \
sessions </span><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">since \
last password changes.</span></li><li><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Retrieve</span><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:700;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> \
Time, location, OS and browser</span><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> \
details of each session Logged in and recently used.</span></li><li><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Terminate \
a particular logged in account.</span></li></ul><div><br></div><p dir="ltr" \
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Retrieve \
session information</span></b></p><p dir="ltr" \
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span></b></p><div><b><img \
src="cid:ii_jktnooad3_165384f9d94fb67b" width="511" \
height="85"><br></b></div><div><b><ul><li><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><b><span \
style="font-size:11pt;font-family:Arial;color:rgb(0,0,0);background-color:transparent; \
font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">User \
can view his currently logged in details and recently used session information. In \
each session, information about last time used, location, browser and OS \
details.</span></b></span></b></span></li><li><span \
</div>
</blockquote></div><br clear="all"><div><br></div></div></div><span \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278m_-6093266918205947745HOEnZb"><font \
color="#888888">-- <br><div dir="ltr" \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_32931848 \
83263706882m_178092170489053278m_-6093266918205947745m_2251858466582091337gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div \
dir="ltr"><font face="georgia, serif" color="#444444"><b>Ruwan \
Abeykoon<br></b></font><div><div><font face="times new roman, serif" \
color="#444444"><b>Associate Director/Architect</b></font><font \
style="color:rgb(136,136,136)" face="times new roman, serif" \
color="#444444"><b>,</b></font></div><div style="color:rgb(136,136,136)"><font \
face="times new roman, serif" color="#444444"><b>WSO2, Inc.  <a \
href="https://wso2.com/signature" style="color:rgb(17,85,204)" \
target="_blank">http://wso2.com</a>  </b></font></div><div \
style="color:rgb(136,136,136)"><font face="times new roman, serif" \
color="#444444"><b>lean.enterprise.middleware.</b></font></div></div><div \
style="color:rgb(136,136,136)"><img \
src="http://c.content.wso2.com/signatures/wso2-signature-general.png"><br></div></div></div></div></div></div></div></div></div>
 </font></span></blockquote></div><br><br clear="all"><br>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278m_-6093266918205947745gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div>Chuhaashanan</div><div>Intern - Software \
Engineering<br></div><div><br></div></div></div></div></div> </div>
</div></div><br></div></div>_______________________________________________<br>
Dev mailing list<br>
<a href="mailto:Dev@wso2.org" target="_blank">Dev@wso2.org</a><br>
<a href="http://wso2.org/cgi-bin/mailman/listinfo/dev" rel="noreferrer" \
target="_blank">http://wso2.org/cgi-bin/mailman/listinfo/dev</a><br> \
<br></blockquote></div><span \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739HOEnZb"><font \
color="#888888"><br><br clear="all"><div><br></div>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739m_3293184883263706882m_178092170489053278gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><span><font \
color="#888888">Thanks &amp; Regards,</font></span></div><div dir="ltr"><span><font \
color="#888888">Dulanja Liyanage</font></span></div><div dir="ltr"><span><font \
color="#888888">Lead, Platform Security Team<br>WSO2 Inc. \
</font></span><br></div></div></div></div></div></div></div> \
</font></span></div></div> </blockquote></div></div></div><div><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_256169995582597298m_-2286969995783684284m_-185518401171538198h5"><br><br \
clear="all"><br>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_2561699 \
95582597298m_-2286969995783684284m_-185518401171538198m_-4435465284248418739gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div>Chuhaashanan</div><div>Intern - Software \
Engineering<br></div><div><br></div></div></div></div></div> </div></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_256169995582597298m_-2286969995783684284m_-185518401171538198gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><span><font \
color="#888888">Thanks &amp; Regards,</font></span></div><div dir="ltr"><span><font \
color="#888888">Dulanja Liyanage</font></span></div><div dir="ltr"><span><font \
color="#888888">Lead, Platform Security Team<br>WSO2 Inc. \
</font></span><br></div></div></div></div></div></div></div> </div></div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069m_256169995582597298gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div>Chuhaashanan</div><div>Intern - Software \
Engineering<br></div><div><br></div></div></div></div></div> </div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div \
class="gmail-m_-7269705180332096785m_3930785880129639789m_7986492907140984069gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><span><font \
color="#888888">Thanks &amp; Regards,</font></span></div><div dir="ltr"><span><font \
color="#888888">Dulanja Liyanage</font></span></div><div dir="ltr"><span><font \
color="#888888">Lead, Platform Security Team<br>WSO2 Inc. \
</font></span><br></div></div></div></div></div></div></div> </div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" \
class="gmail-m_-7269705180332096785m_3930785880129639789gmail_signature"><div \
dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div \
dir="ltr"><font color="#444444" face="georgia, serif"><b>Ruwan \
Abeykoon<br></b></font><div><div><font color="#444444" face="times new roman, \
serif"><b>Associate Director/Architect</b></font><font color="#444444" face="times \
new roman, serif" style="color:rgb(136,136,136)"><b>,</b></font></div><div \
style="color:rgb(136,136,136)"><font color="#444444" face="times new roman, \
serif"><b>WSO2, Inc.  <a href="https://wso2.com/signature" \
style="color:rgb(17,85,204)" target="_blank">http://wso2.com</a>  \
</b></font></div><div style="color:rgb(136,136,136)"><font color="#444444" \
face="times new roman, \
serif"><b>lean.enterprise.middleware.</b></font></div></div><div \
style="color:rgb(136,136,136)"><img \
src="http://c.content.wso2.com/signatures/wso2-signature-general.png"><br></div></div></div></div></div></div></div></div></div>
 _______________________________________________<br>
Dev mailing list<br>
<a href="mailto:Dev@wso2.org" target="_blank">Dev@wso2.org</a><br>
<a href="http://wso2.org/cgi-bin/mailman/listinfo/dev" rel="noreferrer" \
target="_blank">http://wso2.org/cgi-bin/mailman/listinfo/dev</a><br> \
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" \
class="gmail-m_-7269705180332096785gmail_signature"><div dir="ltr"><div><div \
dir="ltr"><div><div style="color:rgb(136,136,136)">Pushpalanka.</div><span \
style="color:rgb(136,136,136)">--  </span><br style="color:rgb(136,136,136)"><div \
dir="ltr"><font color="#888888">Pushpalanka Jayawardhana, \
B.Sc.Eng.(Hons).</font><br><font color="#888888">Senior Software Engineer, WSO2 Lanka \
(pvt) Ltd;    </font><a href="http://wso2.com/" target="_blank"><font \
color="#3d85c6">wso2.com/</font></a><br><font color="#888888">Mobile:  </font><a \
href="http://+94779716248" target="_blank"><font \
color="#6fa8dc"><font>+94</font>779716248</font></a><br><font color="#888888">Blog:  \
</font><a href="http://pushpalankajaya.blogspot.com/" target="_blank"><font \
color="#3d85c6">pushpalankajaya.blogspot.com/</font></a><font color="#888888">  | \
LinkedIn:  </font><font color="#3d85c6"><a \
href="http://lk.linkedin.com/in/pushpalanka/" target="_blank"><font \
color="#3d85c6">lk.linkedin.com/in/pushpalanka/</font></a>  </font><font \
color="#999999">|  </font><span style="color:rgb(136,136,136)">Twitter: @pushpalanka  \
</span></div></div><div dir="ltr" \
style="color:rgb(136,136,136)"><br></div></div></div></div></div></div> \
_______________________________________________<br> Dev mailing list<br>
<a href="mailto:Dev@wso2.org" target="_blank">Dev@wso2.org</a><br>
<a href="http://wso2.org/cgi-bin/mailman/listinfo/dev" rel="noreferrer" \
target="_blank">http://wso2.org/cgi-bin/mailman/listinfo/dev</a><br> \
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" \
class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><b><span \
style="font-family:tahoma,sans-serif"><font size="2"><font color="#666666">Pamoda \
Wimalasiri |</font>  </font></span></b><span \
style="color:rgb(102,102,102);font-family:tahoma,sans-serif">Software Engineer \
|</span><span style="color:rgb(102,102,102);font-family:tahoma,sans-serif">  WSO2 \
Inc.</span></div></div><div><span style="font-family:tahoma,sans-serif"><font \
color="#666666">(m) +94713705814 | (w) +94112145345 | (e)  </font><a \
href="mailto:pamoda@wso2.com" target="_blank"><font \
color="#666666">pamoda@wso2.com</font></a><font \
color="#666666"><span></span><span></span></font><br></span></div><div><br></div><span \
style="font-family:tahoma,sans-serif"><span style="color:rgb(102,102,102)"><a \
href="http://wso2.com/signature" target="_blank"><img \
src="http://c.content.wso2.com/signatures/wso2-signature-general.png"></a><br></span></span></div></div></div></div>


--000000000000d8773c058b82333f--


["Untitled Diagram-Page-1 (2).jpg" (image/jpeg)]
["Untitled Diagram-Page-2.jpg" (image/jpeg)]
["Untitled Diagram-Page-3.jpg" (image/jpeg)]

_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic