(state: &StoredProviderCredentialRefreshState)
| 639 | } |
| 640 | |
| 641 | fn oauth2_token_url(state: &StoredProviderCredentialRefreshState) -> Result<String, Status> { |
| 642 | if let Some(tenant_id) = material_value(&state.material, &["tenant_id"]) { |
| 643 | return Ok(format!( |
| 644 | "https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token" |
| 645 | )); |
| 646 | } |
| 647 | if !state.token_url.trim().is_empty() { |
| 648 | return Ok(state.token_url.clone()); |
| 649 | } |
| 650 | Err(Status::invalid_argument( |
| 651 | "oauth2_client_credentials requires token_url or tenant_id material", |
| 652 | )) |
| 653 | } |
| 654 | |
| 655 | fn google_token_url(state: &StoredProviderCredentialRefreshState) -> String { |
| 656 | if state.token_url.trim().is_empty() { |
no test coverage detected