11 Replies Latest reply on Aug 9, 2018 2:17 PM by GAP

    Deep Linking URL to Page, Setting Page Item Value

    GAP

      I have a page process that creates an email.  Within the email is a link to one of our internal applications.

      The link created is in the following format:

      https://dev...not_our_real_server...our_dev_server.com/apex/f?p=888:21:::NO:21:P21_TABLE_ID:88&cs=335xf5vdzfM7JSPOg70D57lvfS8s

       

      Clicking the link takes me to the login page of the application.  After logging in, I am taken to page 21, but the '88' value for P21_TABLE_ID is not being set.

       

      Any ideas of what might be causing P21_TABLE_ID to not get set?  I am getting no error messages.

       

      I have another application that works and does a similar process.  I have compared the two and can't find any differences that would be causing the issue.

       

      Any ideas are appreciated.

       

      Thanks,

      GAP

        • 1. Re: Link in Email Not Passing Parameter
          PMON

          Check to make sure Deep Linking is enabled in your application.

           

          Cheers

          • 2. Re: Link in Email Not Passing Parameter
            GAP

            Thank you for the response.

             

            I have double checked.

             

            Deep linking is enabled at the application level.  At the page level, Deep Linking is set to Application Default.  I've tried setting the page Deep Linking to Enabled and this does not make a difference.

             

            Any other ideas?

             

            Thanks

            • 3. Re: Link in Email Not Passing Parameter
              Neil Clare

              Have you tried removing the clear cache value (the 21 after NO)?

               

              Also, how are you generating the checksum?

              • 4. Re: Link in Email Not Passing Parameter
                GAP

                Thanks, I have removed the 21, clear cache, as suggested, same result.

                 

                I am using the APEX_UTIL.PREPARE_URL to get the checksum.

                 

                Here is the part of the code that generates the email link.

                '<a target="_blank" href="https://'||gap.utilities_pkg.get_host||APEX_UTIL.PREPARE_URL('f?p=888:21:::NO::P21_TABLE_ID:'||p_table_id)||'">link</a>';

                • 5. Re: Link in Email Not Passing Parameter
                  GAP

                  I think the issue lies somewhere in a setting in the application.

                   

                  If I go to the same page from within the application and copy the URL, and run the URL, it works.  The difference I see is that this URL has a session id.  The link from the email, after logging in, looks like this:

                  https://dev..not_our_rea_server...our_dev_server.com/apex/f?p=888:21:9231286603465:::::

                   

                  It is missing the P21_TABLE_ID:88.

                   

                  Debug shows "FSP_AFTER_LOGIN_URL" => f?p=888:21:9231286603465

                   

                  What could be causing the item, value portion, and checksum of the URL to be removed?

                  • 6. Re: Link in Email Not Passing Parameter
                    GAP

                    When looking through the debug message, I found:

                    ... remove payload from url, reduce to f?p=app:page:session

                     

                    Is there a setting I can change so that the original url is kept?

                     

                    Thanks,

                    GAP

                    • 7. Re: Deep Linking URL to Page, Setting Page Item Value
                      GAP

                      Going through and comparing the Debug from the application that works and the one that doesn't work I found one other difference that might be significant.

                       

                      In the application that works, the HTTP_COOKIE has something added to the end of the line:

                      HTTP_COOKIE=LOGIN_USERNAME_COOKIE=username; AM-DSESS-SECURE-SESSION-ID=0_eyq8jYoD+clRe8q/xGIP9bMP3V26VHYflk8T+Atd3ImVl1tHcHE=

                       

                      In the application that is not working, the debug shows only:

                      HTTP_COOKIE=LOGIN_USERNAME_COOKIE=username

                       

                      Any help is appreciated.

                       

                      Thanks

                      • 8. Re: Deep Linking URL to Page, Setting Page Item Value
                        Neil Clare

                        Can you check the following settings

                         

                        Under Shared Components / Security Attributes

                        Rejoin Sessions

                        Session State Protection

                         

                        For item P21_TABLE_ID

                        Session State Protection

                         

                        Also, is the application that works in the same workspace?

                        • 9. Re: Deep Linking URL to Page, Setting Page Item Value
                          GAP

                          Thank you for your help with my issue.  It is appreciated.

                           

                          Rejoin Sessions is set to Disabled.  I've tried setting to Enabled for Public Sessions.

                           

                          Session State Protection is set to Enabled.  I have tried setting this to Disabled.

                           

                          The item P21_TABLE_ID Session State Protection is set to Checksum Required - Session Level.  I've tried setting this to Unrestricted.

                           

                          The applications are in the same workspace.

                           

                          I've compared the security settings in both applications.

                           

                          I've disabled every process that I think could be running before the page loads.

                           

                          I've done just a quick look at the page templates between the two applications.  I give a deeper look there.

                           

                          Any ideas are appreciated.

                           

                          Thanks,

                          GAP

                          • 10. Re: Deep Linking URL to Page, Setting Page Item Value
                            fac586

                            GAP wrote:

                             

                            When looking through the debug message, I found:

                            ... remove payload from url, reduce to f?p=app:page:session

                            Post the complete debug log (as text , not a screenshot).

                            • 11. Re: Deep Linking URL to Page, Setting Page Item Value
                              GAP

                              Here's the Debug Log:

                              CGI: PATH_INFO = /f?p=888:21:::LEVEL9:21:P21_TABLE_ID:88&cs=335xf5vdzfM7JSPOg70D57lvfS8s

                              GET https://oaxappsdev.co.ihc.com/apex

                              REMOTE_ADDR=10.121.61.30

                              REMOTE_USER=APEX_PUBLIC_USER

                              APEX_LISTENER_VERSION=3.0.9.348.07.16

                              HTTP_COOKIE=LOGIN_USERNAME_COOKIE=gap

                              SID=423

                              USER=APEX_PUBLIC_USER

                              INSTANCE=1

                              Reset NLS settings

                              alter session set  NLS_LANGUAGE='AMERICAN' NLS_TERRITORY='AMERICA' NLS_CALENDAR='GREGORIAN' NLS_SORT='BINARY' NLS_COMP='BINARY'

                              ...NLS: Set Decimal separator="."

                              ...NLS: Set NLS Group separator=","

                              ...NLS: Set g_nls_date_format="DD-MON-RR"

                              ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"

                              ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"

                              NLS of database and client differs, characterset conversion needed

                              ...Setting session time_zone to -06:00

                              reset_nls_environment

                              R E Q U E S T show

                              reset

                              reset

                              fetch_flow_info

                              set_html_escaping_mode p_mode=>E

                              get_workspace(824903002026081): reusing g_workspace

                              get_friendly_workspace_url path_alias=>

                              get_workspace(824903002026081): reusing g_workspace

                              get_friendly_workspace_url="oax/r/files/static/v3/", sgid=0

                              get_friendly_workspace_url path_alias=>

                              get_friendly_workspace_url="oax/r/888/files/static/v1/", sgid=0

                              check_request_can_be_processed

                              ...check app owner "PHYS" is a valid workspace schema in "824903002026081"

                              ...check app owner is a valid database schema

                              Language derived from: FLOW_PRIMARY_LANGUAGE, current browser language: en

                              alter_session p_language=>en,g_nls_language_set=>

                              alter session set nls_language='AMERICAN' nls_territory='AMERICA'

                              NLS: CSV charset=WE8MSWIN1252

                              ...NLS: Set Decimal separator="."

                              ...NLS: Set NLS Group separator=","

                              ...NLS: Set g_nls_date_format="DD-MON-RR"

                              ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"

                              ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"

                              reset_nls_environment

                              Setting NLS: NLS_DATE_FORMAT="DD-MON-YYYY"

                              ...NLS: Set g_nls_date_format="DD-MON-YYYY"

                              ...NLS: Set g_nls_timestamp_format="DD-MON-RR HH.MI.SSXFF AM"

                              ...NLS: Set g_nls_timestamp_tz_format="DD-MON-RR HH.MI.SSXFF AM TZR"

                              NLS: Language=en

                              Application 888, Page Template: 17350343426542219

                              authenticate_and_init_session p_app_id=>888,p_has_safe_url_parameters=>true,p_clone_session=>null

                              set_g_security_group_id p_security_group_id=>824903002026081,p_check_host_prefix=>true,p_check_account_status=>true

                              get_workspace(824903002026081): reusing g_workspace

                              does_url_match_workspace p_security_group_id=>824903002026081,p_host_prefix=>,l_http_host=>oaxappsdev.co.ihc.com,p_path_prefix=>OAX,c_path_info=>/f

                              ... PROXY_AUTHENTICATION not enabled - no path_prefix check

                              set_workspace_id p_workspace_id=>824903002026081

                              ... authentication id=46851918000887616, sgid=824903002026081, curr flow sgid=824903002026081

                              get_page_info p_application_id=>888,p_page_id=>21,p_security_group_id=>824903002026081

                              ...page info not cached, loading it

                              get_login_url p_user_interface_id=>3799903570103498,p_application_id=>888,p_security_group_id=>824903002026081

                              get_home_url p_user_interface_id=>3799903570103498,p_application_id=>888,p_security_group_id=>824903002026081

                              invalid_session_type=URL,LOGIN=,URL=f?p=350:101:&APP_SESSION.

                              init_authentication_globals p_mode=>0,p_dynamic_roles=>,p_namespaces=>

                              ... RAS is disabled at instance level

                              ... page is public:false, public auth:false

                              rejoin_existing_sessions c_platform_rejoin_sessions=>P,p_app_id=>888,p_app_browser_frame=>S,p_app_rejoin_existing_sessions=>N,p_page_info.rejoin_existing_sessions=>

                              component stack after set_component:

                              ...[1]: APEX_APPLICATION_AUTH LDAP_AUTHENTICATION

                              Authentication check: LDAP_AUTHENTICATION (NATIVE_CUSTOM)

                              ...rejoining disabled or no cookie-based authentication

                              attach_preliminary p_id=>

                              ... no session id given

                              builtin_cookie_sentry p_cookie_name=>IH_APEX

                              get_by_cookie_name p_cookie_name=>IH_APEX

                              session cookie value for IH_APEX=ORA_WWV-UnxJH9xwARJG2IAu49gBBJwf

                              ... loading from session table

                              ... cookie session is different to g_instance, so it can not be saved as current session

                              ... session=7469320926208, user=nobody, sgid=824903002026081 (from db)

                              ... session does not match but workspace does, check builder cookie

                              get_by_cookie_name p_cookie_name=>ORA_WWV_USER_102253453311328

                              session cookie value for ORA_WWV_USER_102253453311328=ORA_WWV-J9L2VTtdDs2tZDDguSJtFpXa

                              ... session=4870364808673, user=GAP, sgid=824903002026081 (from cache)

                              ... failure, builder session not found/valid

                              set_db_session_info

                              get_workspace(824903002026081): reusing g_workspace

                              do_get_plugin_cache_idx p_app_id=>888,p_app_security_group_id=>824903002026081,p_plugin_type=>AUTHENTICATION TYPE,p_name=>NATIVE_CUSTOM

                              execute_native_session_sentry p_type=>NATIVE_CUSTOM

                              ... sentry failed

                              ... sentry+verification failure

                              create_or_reuse_session p_clone_session=>false

                              ... wwv_flow_security.g_instance not set

                              create_new

                              get_workspace(824903002026081): reusing g_workspace

                              generate_unique_session_id

                              Session created:  user: nobody

                              set_g_current_session id=>14736485452999,username=>nobody,security_group_id=>824903002026081

                              check session integrity: security group id matches

                              init_session p_sessionid=>

                              init_session p_sessionid=>

                              init_cache

                              check session integrity: security group id matches

                              reset

                              reset p_keep_sticky_headers=>true

                              add_header p_key=>Content-Type,p_name=>Content-Type,p_value=>text/html; charset=utf-8,p_overwrite=>true,p_is_sticky=>false

                              write_headers p_close_header_section=>false

                              add_header p_key=>Cache-Control,p_name=>Cache-Control,p_value=>no-store,p_overwrite=>true,p_is_sticky=>true

                              write_headers p_close_header_section=>false

                              add_header p_key=>Pragma Cache-Control,p_name=>Pragma,p_value=>no-cache,p_overwrite=>true,p_is_sticky=>true

                              write_headers p_close_header_section=>false

                              add_header p_key=>Expires,p_name=>Expires,p_value=>Sun, 27 Jul 1997 13:00:00 GMT,p_overwrite=>true,p_is_sticky=>true

                              write_headers p_close_header_section=>false

                              get_cookie_value

                              add_header p_key=>Set-Cookie IH_APEX,p_name=>Set-Cookie,p_value=>IH_APEX=ORA_WWV-sHvDGH0cgUK51wgt_4GN86ol; secure; HttpOnly,p_overwrite=>true,p_is_sticky=>true

                              write_headers p_close_header_section=>false

                              set_session_cookie_value p_name=>IH_APEX,p_value=>ORA_WWV-sHvDGH0cgUK51wgt_4GN86ol

                              ...deep_linking=Y, clone_session=false

                              ...remove payload from url, reduce to f?p=app:page:session

                              ... session changed - redirect to f?p=888:21:14736485452999

                              remember_deep_link p_url=>f?p=888:21:14736485452999

                              get_current g_instance=>14736485452999

                              ... session already exists, no insert necessary, sgid=824903002026081

                              save_by_name p_item_name=>FSP_AFTER_LOGIN_URL,p_item_value=>***,p_external_input=>false,p_commit=>true

                              set_builtin_global_item_value p_item_name=>FSP_AFTER_LOGIN_URL,p_value=>f?p=888:21:14736485452999

                              check session integrity: security group id matches

                              Session State: "FSP_AFTER_LOGIN_URL" => f?p=888:21:14736485452999

                              Session State: COMMIT

                              check session integrity: security group id matches

                              Session State: fetch from database (exact)

                              execute_native_invalid_session p_type=>NATIVE_CUSTOM,invalid_session_url=>f?p=350:101:14736485452999

                              prepare_url p_url=>f?p=350:101:14736485452999,p_url_charset=>,p_checksum_type=>,p_save_session_state_yn=>N,p_triggering_element=>this,p_dialog=>null,p_rejoin_public_only=>false

                              get_page_info p_application_id=>350,p_page_id=>101,p_security_group_id=>824903002026081

                              ...page info not cached, loading it

                              rejoin_existing_sessions c_platform_rejoin_sessions=>P,p_app_id=>350,p_app_browser_frame=>S,p_app_rejoin_existing_sessions=>N,p_page_info.rejoin_existing_sessions=>

                              url_checksum p_string=>,p_checksum_level=>3,p_bookmark_checksum_function=>SH1

                              ... computed checksum=""

                              0.03786 0.00020

                              component stack after clear_component:

                              redirect_and_stop p_location=>f?p=350:101:14736485452999:::::,p_status=>302,p_reset=>false

                              add_header p_key=>Status,p_name=>Status,p_value=>302 ,p_overwrite=>true,p_is_sticky=>false

                              write_headers p_close_header_section=>false

                              add_header p_key=>Location,p_name=>Location,p_value=>f?p=350:101:14736485452999:::::,p_overwrite=>true,p_is_sticky=>false

                              write_headers p_close_header_section=>false

                              write_headers p_close_header_section=>false

                              Stop APEX Engine detected

                              Final commit

                              teardown g_db_session_cleanup_has_run=>false,g_db_session_cleanup_code=>

                              clear_context

                              delete_temp_request_files g_temp_request_files.count=>0

                              Memory Usage (total + top 20) :  20,873,200

                              WWV_FLOW_PROPERTY_DEV         :  17,624,416

                              WWV_FLOW_CALENDAR             :     353,960

                              WWV_FLOW                      :     332,224

                              WWV_FLOW_API                  :     258,304

                              WWV_FLOW_WORKSHEET            :     208,200

                              WWV_FLOW_META_DATA            :     204,600

                              WWV_FLOW_THEME_MANAGER        :     197,312

                              WWV_FLOW_WORKSHEET            :     195,680

                              WWV_FLOW_DISP_PAGE_PLUGS      :     186,160

                              WWV_RENDER_REPORT3            :     171,000

                              WWV_FLOW_DEBUG                :     159,168

                              WWV_FLOW_SESSION_STATE        :     152,112

                              WWV_FLOW_UTILITIES            :     124,248

                              WWV_FLOW_NATIVE_ITEM          :     118,304

                              WWV_FLOW_TEMPLATES_UTIL       :     111,056

                              WWV_FLOW_DML                  :     104,720

                              WWV_FLOW_REGION_LAYOUT        :      99,264

                              WWV_FLOW_WORKSHEET_STANDARD   :      99,160

                              WWV_FLOW_WORKSHEET_API        :      95,440

                              WWV_FLOW_FND_USER_INT         :      77,872