[AppLauncherPlugin] Can we Launch the different Application in Single Sign On mode with same credentials.

Forge Component
(6)
Published on 7 May by Armando Gomes
6 votes
Published on 7 May by Armando Gomes

Hi Eduardo,

Can I use AppLauncherPlugin in below scenarios.

Suppose there are two Mobile application A and B.

If A is developed using Outsystems platform.

B is developed using some other native platform.

If an user is having same login credentials for A and B application, So can we launch some internal screen (post login) of the application B (developed in other native platform), from application A(Developed using OutSystems platform) without login to application B again.


Thanks

Dileep Verma

Hi Deleep.

I don't think so.
How can the second (non outsystems) application possibly know 'who' is acceding it without the user providing its credentials on it as well?  

You would require to use a kind of Federated Sign On platform (e.g. Okta) that can work with tokens and on launching the second application, pass the token so that it can validate in the Federated system if the token is valid and so on. 

But I have no experience with this type of scenario.

Cheers.

Eduardo Jauch wrote:

Hi Deleep.

I don't think so.
How can the second (non outsystems) application possibly know 'who' is acceding it without the user providing its credentials on it as well?  

You would require to use a kind of Federated Sign On platform (e.g. Okta) that can work with tokens and on launching the second application, pass the token so that it can validate in the Federated system if the token is valid and so on. 

But I have no experience with this type of scenario.

Cheers.

Thanks Eduardo, It gave me idea to implement that scenarios.


Hi Eduardo,

I have used this plugin to launch the different application. For that I have used LaunchWithData client action, as I need to send few data in JSON while Launching.

So How we can receive the data in second app ,we are passing from  first application? Please give me some idea!


Thanks,

Dileep Verma




Dileep,

Receiving the data in the destination app should be done as input parameters if the destination app is built with OutSystems.

If the destination app is built with any other technology, you should refer to such technology's documentation.

Cheers!

Armando Gomes wrote:

Dileep,

Receiving the data in the destination app should be done as input parameters if the destination app is built with OutSystems.

If the destination app is built with any other technology, you should refer to such technology's documentation.

Cheers!

Thanks Armando, but can you please explain little more how  and where we need to add the input parameters to destination app? I mean which place of destination application?


Thanks

Dileep


If it's an OutSystems app, on the screen that you are invoking.

If it's a non-OutSystems app, you need to check on the documentation.

Armando Gomes wrote:

If it's an OutSystems app, on the screen that you are invoking.

If it's a non-OutSystems app, you need to check on the documentation.

Armando, In case of OutSystems we are using package only to launch the destination application  we are not redirecting to any screen.

So using this screen-

- How we can directly launch the screen of destination application with data?

- If not where to add input parameters in that case if we are not navigating to any screen.?

Please help me on this as I am not able to follow , is there any options in this plugin where we can set screen of destination app?


Regards,

Dileep


Dileep,

Opening an app can be done using a deep link. The deep link has the following structure:


<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>


In the following documentation link, this is explained: https://success.outsystems.com/Documentation/How-to_Guides/Development/How_to_define_Mobile_App_deep_links

The following below is applicable to target OutSystems apps:

If you launch without specifying a screen, you're launching the home screen of the app. As such, your home screen shall have the required parameters. Although I haven't tested this myself, you can probably make it work without specifying the home screen.

Armando Gomes wrote:

Dileep,

Opening an app can be done using a deep link. The deep link has the following structure:


<app-identifier>://<module>/<screen>?<Parameter1>=<Value1>&<Parameter2>=<Value2>


In the following documentation link, this is explained: https://success.outsystems.com/Documentation/How-to_Guides/Development/How_to_define_Mobile_App_deep_links

The following below is applicable to target OutSystems apps:

If you launch without specifying a screen, you're launching the home screen of the app. As such, your home screen shall have the required parameters. Although I haven't tested this myself, you can probably make it work without specifying the home screen.

I have already gone through this ..I think this mechanism when the destination app also  developed using Out systems correct??

In case if we are launching non outystems  built app, will this machanism will work, I mean what we need to put in place of  <app-identifer><module>/<Screen>.?


Dileep,

This is a deep link mechanism. I strongly suggest that you read this piece of documentation before proceeding further. Understanding what a deep link is and how it works is crucial for the questions you have.

Independently if the application is built in OutSystems or not, the deep link will have a certain structure. The structure that I've shared before works when the target application is an OutSystems application.

If you are building a non-OutSystems app, the app developer will need to tell you how to format the link so the destination app can process it.

From that documentation link, we can see other examples of structures, like fb://profile/33138223345. If the Facebook app was made in OutSystems, the target link could be com.facebook.app://facebook/profile?Id=33138223345

Cheers!