Skip to content

Commit

Permalink
Merge pull request #432 from himmelblau-idm/stable-0.9.x_handle_passw…
Browse files Browse the repository at this point in the history
…ordless_fail

Handle failures in passwordless auth
  • Loading branch information
dmulder authored Mar 11, 2025
2 parents 9909238 + dcf3e08 commit 39ce53c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ members = [
resolver = "2"

[workspace.package]
version = "0.9.4"
version = "0.9.5"
authors = [
"David Mulder <[email protected]>"
]
Expand All @@ -39,7 +39,7 @@ serde_json = "^1.0.96"
tracing-subscriber = "^0.3.17"
tracing = "^0.1.37"
himmelblau_unix_common = { path = "src/common" }
libhimmelblau = { version = "0.6.5", features = ["broker", "changepassword", "on_behalf_of"] }
libhimmelblau = { version = "0.6.6", features = ["broker", "changepassword", "on_behalf_of"] }
clap = { version = "^4.5", features = ["derive", "env"] }
clap_complete = "^4.5.46"
reqwest = { version = "^0.12.2", features = ["json"] }
Expand Down
14 changes: 10 additions & 4 deletions src/common/src/idprovider/himmelblau.rs
Original file line number Diff line number Diff line change
Expand Up @@ -855,7 +855,7 @@ impl IdProvider for HimmelblauProvider {
if !auth_init.passwordless() {
Ok((AuthRequest::Password, AuthCredHandler::None))
} else {
let flow = self
let flow = match self
.client
.write()
.await
Expand All @@ -866,10 +866,16 @@ impl IdProvider for HimmelblauProvider {
Some(auth_init),
)
.await
.map_err(|e| {
{
Ok(flow) => flow,
Err(MsalError::PasswordRequired) => {
return Ok((AuthRequest::Password, AuthCredHandler::None));
}
Err(e) => {
error!("{:?}", e);
IdpError::BadRequest
})?;
return Err(IdpError::BadRequest);
}
};
let msg = flow.msg.clone();
let polling_interval = flow.polling_interval.unwrap_or(5000);
Ok((
Expand Down

0 comments on commit 39ce53c

Please sign in to comment.