admin_test_external_auth_provider_params
const url = 'https://example.com/api/v1/admin/external-auth/providers/test';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"authorization_url":"example","client_id":"example","client_secret":"example","issuer_url":"example","options":{"microsoft":{"tenant":"example"}},"provider_kind":"oidc","scopes":"example","token_url":"example","userinfo_url":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "https://example.com/api/v1/admin/external-auth/providers/test";
let payload = json!({ "authorization_url": "example", "client_id": "example", "client_secret": "example", "issuer_url": "example", "options": json!({"microsoft": json!({"tenant": "example"})}), "provider_kind": "oidc", "scopes": "example", "token_url": "example", "userinfo_url": "example" });
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap()); headers.insert("Content-Type", "application/json".parse().unwrap());
let client = reqwest::Client::new(); let response = client.post(url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request POST \ --url https://example.com/api/v1/admin/external-auth/providers/test \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "authorization_url": "example", "client_id": "example", "client_secret": "example", "issuer_url": "example", "options": { "microsoft": { "tenant": "example" } }, "provider_kind": "oidc", "scopes": "example", "token_url": "example", "userinfo_url": "example" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Built-in external authentication provider kinds.
Responses
Section titled “Responses”External auth provider parameters tested
统一 API 响应格式
成功: { "code": "success", "msg": "", "data": {...} }
失败: { "code": "auth.credentials_failed", "msg": "Invalid Credentials" }
object
Provider health/test result returned to admin tooling.
object
Effective authorization endpoint, when applicable.
Individual test checks.
Single provider health/test check.
object
Human-readable check result.
Machine-readable check name.
Whether the check passed.
Effective issuer URL, when applicable.
Number of discovered JWKS keys, when applicable.
Display name of the tested provider driver.
Effective token endpoint, when applicable.
Effective userinfo endpoint, when applicable.
object
object
Connector-owned field that caused a configuration validation failure.
This is intentionally optional so existing diagnostics remain wire-compatible.
Connector field scope, for example connector_config or static_credential.
Example
{ "code": "success"}Discovery failed
Unauthorized
Forbidden