Clean up error flow for sso

error messages can now propagate to the user's browser
This commit is contained in:
Grant Limberg 2022-05-12 17:00:43 -07:00
parent e7fee4c6ce
commit da179d9930
No known key found for this signature in database
GPG key ID: 8F2F97D3BE8D7735
3 changed files with 68 additions and 48 deletions

View file

@ -247,11 +247,19 @@ pub extern "C" fn zeroidc_token_exchange(idc: *mut ZeroIDC, code: *const c_char)
let ret = idc.do_token_exchange(code);
match ret {
Ok(ret) => {
#[cfg(debug_assertions)]
{
println!("do_token_exchange ret: {}", ret);
}
let ret = CString::new(ret).unwrap();
ret.into_raw()
}
Err(e) => {
let errstr = format!("{{\"errorMessage\":\"{}\"\"}}", e);
#[cfg(debug_assertions)]
{
println!("do_token_exchange err: {}", e);
}
let errstr = format!("{{\"errorMessage\": \"{}\"}}", e);
let ret = CString::new(errstr).unwrap();
ret.into_raw()
}