Description
Hi!
It seems that the Samsung browser ("com.sec.android.app.sbrowser") on the Galaxy Note 4 and probably also the Galaxy Note 3 does not return to the app after the user has clicked the "Allow" button in the Google login web page. Instead it just loads "www.google.com", which is the fallback if the app cannot be started as far as I know. So the app does not get any login information and cannot proceed with the authentication.
A workaround is to ignore that browser so that Google Chrome is used instead. E.g. this code has fixed the issue for me:
new AuthorizationService(this,
new AppAuthConfiguration.Builder()
.setBrowserMatcher(new BrowserMatcher() {
@Override
public boolean matches(@NonNull BrowserDescriptor descriptor) {
if (descriptor.useCustomTab
&& StringUtils.equals(
descriptor.packageName,
"com.sec.android.app.sbrowser")) {
return false;
}
return true;
}
}).build())
However it would be good if it would work "out of the box", i.e. if the AppAuth library could handle (blacklist?) this by itself. I have found functions to blacklist certain versions of a browser in AppAuth but it seems that it doesn't blacklist any browsers by itself.
What do you think? Should AppAuth blacklist this automatically? Samsung probably won't fix these old devices any more.
Kind regards
Dominique