Skip to main content

akeyless_api/models/
oidc_access_rules.rs

1/*
2 * Akeyless API
3 *
4 * The purpose of this application is to provide access to Akeyless API.
5 *
6 * The version of the OpenAPI document: 3.0
7 * Contact: support@akeyless.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// OidcAccessRules : OIDCAccessRules contains access rules specific to Open Id Connect authentication method.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OidcAccessRules {
17    /// Allowed redirect URIs after the authentication
18    #[serde(rename = "allowed_redirect_URIs", skip_serializing_if = "Option::is_none")]
19    pub allowed_redirect_uris: Option<Vec<String>>,
20    /// Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
21    #[serde(rename = "audience", skip_serializing_if = "Option::is_none")]
22    pub audience: Option<String>,
23    /// The claims that login is restricted to.
24    #[serde(rename = "bound_claims", skip_serializing_if = "Option::is_none")]
25    pub bound_claims: Option<Vec<models::OidcCustomClaim>>,
26    /// Client ID
27    #[serde(rename = "client_id", skip_serializing_if = "Option::is_none")]
28    pub client_id: Option<String>,
29    /// Client Secret
30    #[serde(rename = "client_secret", skip_serializing_if = "Option::is_none")]
31    pub client_secret: Option<String>,
32    /// IsInternal indicates whether this is an internal Auth Method where the client has no control over it, or it was created by the client e.g - Sign In with Google will create an OIDC Auth Method with IsInternal=true
33    #[serde(rename = "is_internal", skip_serializing_if = "Option::is_none")]
34    pub is_internal: Option<bool>,
35    /// Issuer URL
36    #[serde(rename = "issuer", skip_serializing_if = "Option::is_none")]
37    pub issuer: Option<String>,
38    /// A list of required scopes to request from the oidc provider, and to check on the token
39    #[serde(rename = "required_scopes", skip_serializing_if = "Option::is_none")]
40    pub required_scopes: Option<Vec<String>>,
41    /// A prefix to add to the required scopes (for example, azures' Application ID URI)
42    #[serde(rename = "required_scopes_prefix", skip_serializing_if = "Option::is_none")]
43    pub required_scopes_prefix: Option<String>,
44    /// A unique identifier to distinguish different users
45    #[serde(rename = "unique_identifier", skip_serializing_if = "Option::is_none")]
46    pub unique_identifier: Option<String>,
47}
48
49impl OidcAccessRules {
50    /// OIDCAccessRules contains access rules specific to Open Id Connect authentication method.
51    pub fn new() -> OidcAccessRules {
52        OidcAccessRules {
53            allowed_redirect_uris: None,
54            audience: None,
55            bound_claims: None,
56            client_id: None,
57            client_secret: None,
58            is_internal: None,
59            issuer: None,
60            required_scopes: None,
61            required_scopes_prefix: None,
62            unique_identifier: None,
63        }
64    }
65}
66