cancel
Showing results for 
Search instead for 
Did you mean: 

Delivering serialized session or logon token to external web app?

Former Member
0 Kudos

Hello,

I have the following situation, the user logs into SAP BO 4.0 Launch pad application, he needs to start our external web application and therefore we created an hyperlink. The application opens in a new tab, that's running fine. Our application uses BO SDK to provide some functionality (browse user SAP folders, reports or so), and therefore we need to log in into the current user session.

Is there any way to deliver either the serialized session or logon token to external application? Are there any internal variables to be used? Or should I use totally different approach?

There would be a workaround by delivering just the current BO user name to the external app, and than using a separate (administrators) login to fetch only the current user's data. But this I guess is not the right way to do the job.

Any help is greatly appreciated

Accepted Solutions (1)

Accepted Solutions (1)

Adam_Stone
Active Contributor
0 Kudos

There is no supported way to pass the session from BI Launchpad. As per your workaround, if you pass the username, you could use Trusted Authentication (look up ITrustedPrincipal in the SDK documentation) to logon to enterprise as that user.

Former Member
0 Kudos

Thank you Adam,

I have implemented a solution using ThrustedPrincipal. Using the shared secret within SDK I am able to log in as any user without problem. To resolve the current user name I'm "stealing" the launch pad cookie InfoViewPLATFORMSVC_COOKIE_USR. To force the browser to send the BO cookies to my web application, the hyperlink in Launch Pad must follow the "same domain" rules which an unfortunate restriction (my web app must be installed on same server as BO).

Is there perhaps any common way how to deliver the user name to an external web application (perhaps as a request parameter) ?

alfons_gonzalez
Active Participant
0 Kudos

Hi Martin,

I am facing same situation than you and I also considered using the trusted authentication until I reads following statement in java docs

To enable trusted authentication on a client machine, create a text file named TrustedPrincipal.conf on the client machine and add the following text:


SharedSecret=<secret>

where <secret> is the trusted authentication shared secret configured in BusinessObjects Enterprise.

So, if the external web app may be launched from any user this would mean having to install this file in all BI LaunchPad desktop computers. It isn´t? This does not sound very elegant. Is this what you did?

Thanks

DellSC
Active Contributor
0 Kudos

By "Client Machine", it really means "Server that your code is running on".  So, in this case it would be the machine where Tomcat and BILaunchpad are running.

Also, for BO 4.x, you no longer manually create the TrustedPrincipal.conf file.  Instead, do the following:

- Log in to the CMC

- Go to Authentication>>Enterprise

- Scroll to the bottom

- Turn on Trusted Authentication.

- Click on "New Shared Secret"

- Then click on "Download Shared Secret" to get the file that you need.

In BO 3.1 and below, the shared secret was in plain text, in 4.x it is encrypted so it's safer to use.

-Dell


Answers (1)

Answers (1)

alfons_gonzalez
Active Participant
0 Kudos

Hi Dell,

Thanks for your answer. Documentation was a bit confuse when using the term ¨Client Machine´. It does works now but customer (I agree with him) does not agree this approach. Any user can try to copy & paste the URL used by our custom app and to replacing its username by the one that they prefer and it will works.......

Thanks in any case,

Alfons