systemprompt_api/routes/oauth/endpoints/authorize/
mod.rs1mod handler;
2mod response_builder;
3mod validation;
4
5pub use handler::{handle_authorize_get, handle_authorize_post};
6
7use serde::{Deserialize, Serialize};
8use systemprompt_identifiers::ClientId;
9
10#[derive(Debug, Deserialize)]
11pub struct AuthorizeQuery {
12 pub response_type: String,
13 pub client_id: ClientId,
14 pub redirect_uri: Option<String>,
15 pub scope: Option<String>,
16 pub state: Option<String>,
17 pub code_challenge: Option<String>,
18 pub code_challenge_method: Option<String>,
19 pub response_mode: Option<String>,
20 pub display: Option<String>,
21 pub prompt: Option<String>,
22 pub max_age: Option<i64>,
23 pub ui_locales: Option<String>,
24 pub resource: Option<String>,
25}
26
27#[derive(Debug, Serialize)]
28pub struct AuthorizeResponse {
29 pub code: Option<String>,
30 pub state: Option<String>,
31 pub error: Option<String>,
32 pub error_description: Option<String>,
33}
34
35#[derive(Debug, Deserialize)]
36pub struct AuthorizeRequest {
37 pub response_type: String,
38 pub client_id: ClientId,
39 pub redirect_uri: Option<String>,
40 pub scope: Option<String>,
41 pub state: Option<String>,
42 pub code_challenge: Option<String>,
43 pub code_challenge_method: Option<String>,
44 pub user_consent: Option<String>,
45 pub username: Option<String>,
46 pub password: Option<String>,
47 pub resource: Option<String>,
48}