Sunday, 22 June 2014

APEX 5.0 - Rejoin Session

This great feature is finaly there. I remember asking for a solution back in 2007. I needed to send emails with application links to my users. If they would receive an email they would click on the link and were supposed to land on a particular page. The problem was that they would already have an open session and they expected the link to go straight to the page without asking for a new login. The solution I found was quite tricky and it stopped working with the version 4.1 because of the changed session handling. APEX 5.0 finaly introduces this option out of the box. You can enable it in the security attributes for:

- Public Sessions only
- All Sessions



You can of course override these settings on the page level, which makes a lot of sense.

5 comments:

Scott Wesley said...

This may also assist a problem I see on tablets where opening a bookmark from the app screen will open a new tab, prompting re-login.

As for emails with links in a workflow situation - the documentation seems to overstate the need for checksums if SSP is enabled. Hope it's as simple as it sounds.

Christopher Kopacko said...

After reading this post I tried using the rejoin session and I had success on a basic level but whenever I pass filter parameters in the url it is timing out my other sessions. Here are what my urls look like:

Rejoin session works:

localhost/ords/f?p=200:3:0:::::

Causes other active sessions to time out:

localhost/ords/f?p=200:3:0::::IR_SCHOOL:Test

Denes Kubicek said...

Christopher,

You should ask this in the forum:

http://www.oracle.com/webfolder/technetwork/de/community/apex/index.html

Denes

non-apexoid said...

Ok, rejoin sessions work if URL does not contain
any parameters exept application and page numbers,
but if you have some inputs in target page to initialize,
authentication fails and you are redirected to login page.
The point is that control sum required when parameters are passing.
Links from interactive reports unclude control sum, but from classic - not.
Use apex_util.prepare_url call in order to generate url of target page,
for example:
select
apex_util.prepare_url('localhost/ords/f?p=200:3:0::::IR_SCHOOL:Test', 'SESSION') as "LINK"
from dual

non-apexoid said...

Some corrections: apex_util.prepare_url have three parameters so example call will be:
apex_util.prepare_url (
p_url =>'localhost/ords/f?p=200:3:::::IR_SCHOOL:Test',
p_checksum_type => 'SESSION' )