Skip to content

Commit 690da73

Browse files
committed
Address more PR comments.
Remove check for Consent prompt. MAS supports it but isn't currently exposing that in it's well-known.
1 parent 2b85735 commit 690da73

File tree

3 files changed

+18
-15
lines changed

3 files changed

+18
-15
lines changed

bindings/matrix-sdk-ffi/src/authentication_service.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -360,17 +360,8 @@ impl AuthenticationService {
360360
self.configure_oidc(&oidc, authentication_server, oidc_configuration).await?;
361361

362362
let mut data_builder = oidc.login(redirect_url, None)?;
363-
364-
if let Ok(provider_metadata) = oidc.provider_metadata().await {
365-
if provider_metadata
366-
.prompt_values_supported
367-
.as_ref()
368-
.is_some_and(|p| p.contains(&Prompt::Consent))
369-
{
370-
data_builder = data_builder.prompt(vec![Prompt::Consent]);
371-
}
372-
}
373-
363+
// TODO: Add a check for the Consent prompt when MAS is updated.
364+
data_builder = data_builder.prompt(vec![Prompt::Consent]);
374365
let data = data_builder.build().await?;
375366

376367
Ok(Arc::new(OidcAuthenticationData { url: data.url, state: data.state }))

bindings/matrix-sdk-ffi/src/client.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ impl Client {
425425
}
426426

427427
pub fn account_url(&self) -> Option<String> {
428-
self.inner.oidc().account_management_url().unwrap_or(None).map(|url| url.to_string())
428+
self.inner.oidc().account_management_url().ok().flatten().map(|url| url.to_string())
429429
}
430430

431431
pub fn user_id(&self) -> Result<String, ClientError> {
@@ -891,8 +891,8 @@ pub struct Session {
891891
// FFI-only fields (for now)
892892
/// The URL for the homeserver used for this session.
893893
pub homeserver_url: String,
894-
/// Additional data for this session session if OpenID Connect was used
895-
/// for authentication.
894+
/// Additional data for this session if OpenID Connect was used for
895+
/// authentication.
896896
pub oidc_data: Option<String>,
897897
/// The URL for the sliding sync proxy used for this session.
898898
pub sliding_sync_proxy: Option<String>,

bindings/matrix-sdk-ffi/src/client_builder.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ pub struct ClientBuilder {
3232
sliding_sync_proxy: Option<String>,
3333
proxy: Option<String>,
3434
disable_ssl_verification: bool,
35+
disable_automatic_token_refresh: bool,
3536
inner: MatrixClientBuilder,
3637
}
3738

@@ -103,6 +104,12 @@ impl ClientBuilder {
103104
Arc::new(builder)
104105
}
105106

107+
pub fn disable_automatic_token_refresh(self: Arc<Self>) -> Arc<Self> {
108+
let mut builder = unwrap_or_clone_arc(self);
109+
builder.disable_automatic_token_refresh = true;
110+
Arc::new(builder)
111+
}
112+
106113
pub fn build(self: Arc<Self>) -> Result<Arc<Client>, ClientError> {
107114
Ok(self.build_inner()?)
108115
}
@@ -157,6 +164,10 @@ impl ClientBuilder {
157164
inner_builder = inner_builder.disable_ssl_verification();
158165
}
159166

167+
if !builder.disable_automatic_token_refresh {
168+
inner_builder = inner_builder.handle_refresh_tokens();
169+
}
170+
160171
if let Some(user_agent) = builder.user_agent {
161172
inner_builder = inner_builder.user_agent(user_agent);
162173
}
@@ -208,7 +219,8 @@ impl Default for ClientBuilder {
208219
sliding_sync_proxy: None,
209220
proxy: None,
210221
disable_ssl_verification: false,
211-
inner: MatrixClient::builder().handle_refresh_tokens(),
222+
disable_automatic_token_refresh: false,
223+
inner: MatrixClient::builder(),
212224
}
213225
}
214226
}

0 commit comments

Comments
 (0)