React-native-auth0: Getting signin popup during logout

Created on 16 Apr 2020  路  19Comments  路  Source: auth0/react-native-auth0

Hi,

We are getting this popup during logout from the mobile app.
Our code is:

auth0.webAuth
      .clearSession({})
      .then(success => {
        Alert.alert('Logged out!');
        setAccessToken(null);
      })
      .catch(error => {
        console.log('Log out cancelled', error);
      });

Is there any way to avoid this situation?

feature request

Most helpful comment

All 19 comments

Hi @lhuria94, can you share a screenshot of the popup?

Simulator Screen Shot - iPhone 11 Pro Max - 2020-04-17 at 15 15 46
I am having the same issue, here is the screenshot. @Widcket

@mountainfirefly thanks for the screenshot. Support for disabling SSO (and thus avoiding that popup) is already in our backlog.

@Widcket But we need the SSO as well, even if we have the popup its the message which does not make sense for the user. A signed in user has to sign in to logout.

@lhuria94 both popup and message are displayed by ASWebAuthenticationSession, and unfortunately we do not have control over it. However if you'd like to force the user to login again, you can add the prompt: "login" param to the login call.

v2.3.1 still getting this popup. Is there any solution to avoid it except rolling back to old versions?

@Widcket

@lhuria94 both popup and message are displayed by ASWebAuthenticationSession, and unfortunately we do not have control over it. However if you'd like to force the user to login again, you can add the prompt: "login" param to the login call.

Is there a way to at least configure the message to say "sign-out" instead of "sign-in"?

Thanks @Widcket

Add the prompt: login worked for me. But I see later it can come back to us in case of SSO functionality since we are not clearing the session and making the user to force login again later on new request.

Showing "sign-out" would really help us here.

@Widcket

Are you able to provide any clue how far down the backlog this is?

Hi @paulosborne, unfortunately it's not possible to modify the popup message in any way. Last week we've implemented the ephemeral session option for Auth0.swift, but I can't provide an ETA for this SDK.

Hi @paulosborne, unfortunately it's not possible to modify the popup message in any way. Last week we've implemented the ephemeral session option for Auth0.swift, but I can't provide an ETA for this SDK.

Thanks for the reply @Widcket

Will ephemeral sessions remove the sign-out prompt when the user is logging out?

@paulosborne yes, and for the log in prompt as well. The behavior you get on iOS 13+ is similar to using prompt: "login" but without SSO, because it won't place a cookie in the system browser's shared cookie jar. Like using a browser in incognito mode.

@paulosborne yes, and for the log in prompt as well.

Excellent :)

@paulosborne the changes are up on the branch feature/ephemeral-session-support. Can you please try them out? You'll need to pass the ephemeralSession option, like this:

        auth0.webAuth
            .authorize({
                scope: 'openid profile email'
            }, {
                ephemeralSession: true
            })

@paulosborne the changes are up on the branch feature/ephemeral-session-support. Can you please try them out? You'll need to pass the ephemeralSession option, like this:

        auth0.webAuth
            .authorize({
                scope: 'openid profile email'
            }, {
                ephemeralSession: true
            })

@Widcket I checked out the branch and gave it a try and the login prompt no longer appeared - nice work. It does still appear on logout but i'm assuming this branch is a work-in-progress?

Looks like SSO has been disabled successfully as I was required to re-validate my google account every time I logged in.

Thanks again :)

@paulosborne the thing is, you don't really need it for logout. There's no cookie to clear, so to perform 'logout' just remove the tokens from your app.

@Widcket

Good to know, thanks for your help 馃槉

It worked if we set both properties: prompt and ephemeralSession as following

auth0.webAuth.authorize(
      {
        scope: 'openid email profile',
        prompt: 'login',
      },
      { ephemeralSession: true }
    );
Was this page helpful?
0 / 5 - 0 ratings

Related issues

dpogoda picture dpogoda  路  9Comments

anderslemke picture anderslemke  路  9Comments

jhazucha picture jhazucha  路  9Comments

datvtwkm picture datvtwkm  路  3Comments

a-jumping425 picture a-jumping425  路  5Comments