admin_update_external_auth_provider
PATCH
/api/v1/admin/external-auth/providers/{id}
const url = 'https://example.com/api/v1/admin/external-auth/providers/1';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"allowed_domains":["example"],"authorization_url":"example","auto_link_verified_email_enabled":true,"auto_provision_enabled":true,"avatar_url_claim":"example","client_id":"example","client_secret":"example","display_name":"example","display_name_claim":"example","email_claim":"example","email_verified_claim":"example","enabled":true,"groups_claim":"example","icon_url":"example","issuer_url":"example","options":{"microsoft":{"tenant":"example"}},"require_email_verified":true,"scopes":"example","subject_claim":"example","token_url":"example","userinfo_url":"example","username_claim":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use std::str::FromStr;use serde_json::json;use reqwest;
#[tokio::main]pub async fn main() { let url = "https://example.com/api/v1/admin/external-auth/providers/1";
let payload = json!({ "allowed_domains": ("example"), "authorization_url": "example", "auto_link_verified_email_enabled": true, "auto_provision_enabled": true, "avatar_url_claim": "example", "client_id": "example", "client_secret": "example", "display_name": "example", "display_name_claim": "example", "email_claim": "example", "email_verified_claim": "example", "enabled": true, "groups_claim": "example", "icon_url": "example", "issuer_url": "example", "options": json!({"microsoft": json!({"tenant": "example"})}), "require_email_verified": true, "scopes": "example", "subject_claim": "example", "token_url": "example", "userinfo_url": "example", "username_claim": "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.request(reqwest::Method::from_str("PATCH").unwrap(), url) .headers(headers) .json(&payload) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request PATCH \ --url https://example.com/api/v1/admin/external-auth/providers/1 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "allowed_domains": [ "example" ], "authorization_url": "example", "auto_link_verified_email_enabled": true, "auto_provision_enabled": true, "avatar_url_claim": "example", "client_id": "example", "client_secret": "example", "display_name": "example", "display_name_claim": "example", "email_claim": "example", "email_verified_claim": "example", "enabled": true, "groups_claim": "example", "icon_url": "example", "issuer_url": "example", "options": { "microsoft": { "tenant": "example" } }, "require_email_verified": true, "scopes": "example", "subject_claim": "example", "token_url": "example", "userinfo_url": "example", "username_claim": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
integer format: int64
External auth provider ID
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
allowed_domains
Array<string> | null
authorization_url
string | null
auto_link_verified_email_enabled
boolean | null
auto_provision_enabled
boolean | null
avatar_url_claim
string | null
client_id
string | null
client_secret
string | null
display_name
string | null
display_name_claim
string | null
email_claim
string | null
email_verified_claim
string | null
enabled
boolean | null
groups_claim
string | null
icon_url
string | null
issuer_url
string | null
options
require_email_verified
boolean | null
scopes
string | null
subject_claim
string | null
token_url
string | null
userinfo_url
string | null
username_claim
string | null
Examplegenerated
{ "allowed_domains": [ "example" ], "authorization_url": "example", "auto_link_verified_email_enabled": true, "auto_provision_enabled": true, "avatar_url_claim": "example", "client_id": "example", "client_secret": "example", "display_name": "example", "display_name_claim": "example", "email_claim": "example", "email_verified_claim": "example", "enabled": true, "groups_claim": "example", "icon_url": "example", "issuer_url": "example", "options": { "microsoft": { "tenant": "example" } }, "require_email_verified": true, "scopes": "example", "subject_claim": "example", "token_url": "example", "userinfo_url": "example", "username_claim": "example"}Responses
Section titled “Responses”External auth provider updated
Media typeapplication/json
统一 API 响应格式
成功: { "code": "success", "msg": "", "data": {...} }
失败: { "code": "auth.credentials_failed", "msg": "Invalid Credentials" }
object
code
required
string
data
object
allowed_domains
required
Array<string>
authorization_url
string | null
auto_link_verified_email_enabled
required
boolean
auto_provision_enabled
required
boolean
avatar_url_claim
string | null
client_id
required
string
client_secret
string | null
client_secret_configured
required
boolean
created_at
required
string
display_name
required
string
display_name_claim
string | null
email_claim
string | null
email_verified_claim
string | null
enabled
required
boolean
groups_claim
string | null
icon_url
string | null
id
required
integer format: int64
issuer_url
string | null
key
required
string
options
required
protocol
required
External authentication protocol families.
string
provider_kind
required
Built-in external authentication provider kinds.
string
require_email_verified
required
boolean
scopes
required
string
subject_claim
string | null
token_url
string | null
updated_at
required
string
userinfo_url
string | null
username_claim
string | null
error
msg
required
string
Example
{ "code": "success", "data": { "protocol": "oidc", "provider_kind": "oidc" }}Invalid provider configuration
Unauthorized
Forbidden
External auth provider not found