Skip to content

Commit e6e7d29

Browse files
authored
fix android webview fallback (#160)
1 parent 54d8574 commit e6e7d29

3 files changed

Lines changed: 3 additions & 7 deletions

File tree

oidc-appsupport/src/androidMain/kotlin/org/publicvalue/multiplatform/oidc/appsupport/AndroidCodeAuthFlowFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class AndroidCodeAuthFlowFactory(
9494
presentPreferredProviders.firstOrNull()
9595
} else customTabProviders.firstOrNull()
9696

97-
val webFlow = if (useWebView) {
97+
val webFlow = if (useWebView || preferredBrowserPackage == null) {
9898
WebViewFlow(
9999
context = context,
100100
contract = activityResultLauncher,

oidc-appsupport/src/androidMain/kotlin/org/publicvalue/multiplatform/oidc/appsupport/HandleRedirectActivity.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class HandleRedirectActivity : ComponentActivity() {
6767
runBlocking {
6868
preferences.setResponseUri(Url(requestedUrl.toString()))
6969
}
70+
setResult(RESULT_OK, Intent().setData(intent?.data))
7071
finish()
7172
true
7273
} else {
@@ -173,13 +174,8 @@ class HandleRedirectActivity : ComponentActivity() {
173174
if (CustomTabsClient.isEphemeralBrowsingSupported(this, preferredBrowserPackage)) {
174175
builder.setEphemeralBrowsingEnabled(ephemeralSession ?: false)
175176
}
176-
} else {
177-
// If custom tabs are not available, fallback to WebView
178-
showWebView(url, redirectUrl, ephemeralSession ?: false)
179-
return
180177
}
181178

182-
183179
val intent = builder.build()
184180

185181
preferredBrowserPackage.let { intent.intent.setPackage(it) }

oidc-appsupport/src/androidMain/kotlin/org/publicvalue/multiplatform/oidc/appsupport/customtab/CustomTabFlow.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal class CustomTabFlow(
1818
private val context: Context,
1919
private val contract: ActivityResultLauncherSuspend<Intent, ActivityResult>,
2020
private val epheremalSession: Boolean,
21-
private val preferredBrowserPackage: String?,
21+
private val preferredBrowserPackage: String,
2222
): WebAuthenticationFlow {
2323
override suspend fun startWebFlow(requestUrl: Url, redirectUrl: String): WebAuthenticationFlowResult {
2424
val intent = prepareIntent(requestUrl = requestUrl.toString(), redirectUrl = redirectUrl)

0 commit comments

Comments
 (0)