1#[derive(Debug, PartialEq, Eq, Clone, Copy)]
2pub enum TokenEndpointAuthMethod {
3 None,
4 ClientSecretPost,
5 ClientSecretBasic,
6}
7
8#[derive(Debug, PartialEq, Eq, Clone, Copy)]
9pub enum GrantType {
10 AuthorizationCode,
11 ClientCredentials,
12}
13
14#[derive(Debug, PartialEq, Eq, Clone, Copy)]
15pub enum ResponseType {
16 Code,
17}
18
19#[derive(Debug, Clone)]
20pub struct Client {
21 pub(crate) id: String,
22 pub(crate) secret: Option<String>,
23 pub(crate) redirect_uris: Vec<String>,
24 pub(crate) token_endpoint_auth_method: TokenEndpointAuthMethod,
25 pub(crate) grant_types: Vec<GrantType>,
26 pub(crate) response_types: Vec<ResponseType>,
27 pub(crate) name: String,
28 pub(crate) uri: String,
29 pub(crate) logo_uri: String,
30 pub(crate) scopes: Vec<String>,
31 pub(crate) contacts: Vec<String>,
32 pub(crate) tos_uri: String,
33 pub(crate) policy_uri: String,
34}