| 4512 | } |
| 4513 | |
| 4514 | fn parse_auth_info_payload(payload: serde_json::Value) -> Option<AuthInfo> { |
| 4515 | if let Ok(auth) = serde_json::from_value::<AuthInfo>(payload.clone()) { |
| 4516 | return Some(auth); |
| 4517 | } |
| 4518 | |
| 4519 | let key = payload |
| 4520 | .get("api_key") |
| 4521 | .and_then(|v| v.as_str()) |
| 4522 | .or_else(|| payload.get("apiKey").and_then(|v| v.as_str())) |
| 4523 | .or_else(|| payload.get("token").and_then(|v| v.as_str())) |
| 4524 | .or_else(|| payload.get("key").and_then(|v| v.as_str())) |
| 4525 | .map(str::to_string)?; |
| 4526 | |
| 4527 | Some(AuthInfo::Api { key }) |
| 4528 | } |
| 4529 | |
| 4530 | // =========================================================================== |
| 4531 | // Plugin auth routes |