diff --git a/app/build.gradle b/app/build.gradle index 86d38ef7d06ab3c4c194007eb79368fcf8c021f0..03d288376d461dadc661f1708c5ef78379063bb5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -231,7 +231,7 @@ dependencies { // third-party libs implementation 'org.mnode.ical4j:ical4j:3.2.13' implementation 'com.jaredrummler:colorpicker:1.1.0' - implementation "com.github.AppIntro:AppIntro:${versions.appIntro}" + implementation "com.github.AppIntro:appintro:${versions.appIntro}" implementation("com.github.bitfireAT:dav4jvm:${versions.dav4jvm}") { exclude group: 'junit' } diff --git a/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt b/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt index 5001315b45ea2301eda19a1f7cfa39f6f6207e73..9ea3766ecd8052f8fbd4a3cb8708b357f21b9e07 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/ui/signout/OpenIdEndSessionActivity.kt @@ -67,15 +67,30 @@ class OpenIdEndSessionActivity : Activity() { ) { authorizationService = AuthorizationService(applicationContext) - val redirectUri = - IdentityProvider.retrieveByAccountType(this, accountType)?.logoutRedirectUri - - val intent = authorizationService!!.getEndSessionRequestIntent( - EndSessionRequest.Builder(configuration) - .setIdTokenHint(authState.idToken) - .setPostLogoutRedirectUri(redirectUri) - .build() - ) + val identityProvider = IdentityProvider.retrieveByAccountType(this, accountType) + val redirectUri = identityProvider?.logoutRedirectUri + val clientId = identityProvider?.clientId + + val endSessionRequestBuilder = EndSessionRequest.Builder(configuration) + + redirectUri?.let { + endSessionRequestBuilder.setPostLogoutRedirectUri(it) + } + + authState.idToken?.let { + endSessionRequestBuilder.setIdTokenHint(it) + } + + clientId?.let { + endSessionRequestBuilder.setAdditionalParameters( + mapOf("client_id" to it) + ) + } + + + val intent = authorizationService?.getEndSessionRequestIntent( + endSessionRequestBuilder.build() + ) ?: return startActivity(intent) }