Enum kanidm_cli::Oauth2Opt

source ·
pub enum Oauth2Opt {
Show 31 variants List(CommonOpt), Get(Named), CreateBasic { name: String, displayname: String, origin: String, copt: CommonOpt, }, CreatePublic { name: String, displayname: String, origin: String, copt: CommonOpt, }, UpdateScopeMap(Oauth2CreateScopeMapOpt), DeleteScopeMap(Oauth2DeleteScopeMapOpt), UpdateSupScopeMap(Oauth2CreateScopeMapOpt), DeleteSupScopeMap(Oauth2DeleteScopeMapOpt), UpdateClaimMap { copt: CommonOpt, name: String, claim_name: String, group: String, values: Vec<String>, }, UpdateClaimMapJoin { copt: CommonOpt, name: String, claim_name: String, join: Oauth2ClaimMapJoin, }, DeleteClaimMap { copt: CommonOpt, name: String, claim_name: String, group: String, }, ResetSecrets(Named), ShowBasicSecret(Named), Delete(Named), SetDisplayname(Oauth2SetDisplayname), SetName { nopt: Named, name: String, }, SetLandingUrl { nopt: Named, url: Url, }, SetImage { nopt: Named, path: PathBuf, image_type: Option<ImageType>, }, RemoveImage(Named), AddOrigin { name: String, origin: Url, copt: CommonOpt, }, RemoveOrigin { name: String, origin: Url, copt: CommonOpt, }, EnablePkce(Named), DisablePkce(Named), EnableLegacyCrypto(Named), DisableLegacyCrypto(Named), EnableStrictRedirectUri { name: String, copt: CommonOpt, }, DisableStrictRedirectUri { name: String, copt: CommonOpt, }, EnablePublicLocalhost { copt: CommonOpt, name: String, }, DisablePublicLocalhost { copt: CommonOpt, name: String, }, PreferShortUsername(Named), PreferSPNUsername(Named),
}

Variants§

§

List(CommonOpt)

List all configured oauth2 clients

§

Get(Named)

Display a selected oauth2 client

§

CreateBasic

Create a new oauth2 confidential client that is protected by basic auth.

Fields

§name: String
§displayname: String
§origin: String
§

CreatePublic

Create a new OAuth2 public client that requires PKCE. You should prefer using confidential client types if possible over public ones.

Public clients have many limitations and can not access all API’s of OAuth2. For example rfc7662 token introspection requires client authentication.

Fields

§name: String
§displayname: String
§origin: String
§

UpdateScopeMap(Oauth2CreateScopeMapOpt)

Update or add a new mapping from a group to scopes that it provides to members

§

DeleteScopeMap(Oauth2DeleteScopeMapOpt)

Remove a mapping from groups to scopes

§

UpdateSupScopeMap(Oauth2CreateScopeMapOpt)

Update or add a new mapping from a group to scopes that it provides to members

§

DeleteSupScopeMap(Oauth2DeleteScopeMapOpt)

Remove a mapping from groups to scopes

§

UpdateClaimMap

Update or add a new mapping from a group to custom claims that it provides to members

Fields

§name: String
§claim_name: String
§group: String
§values: Vec<String>
§

UpdateClaimMapJoin

Fields

§name: String
§claim_name: String
§join: Oauth2ClaimMapJoin

The join strategy. Valid values are csv (comma separated value), ssv (space separated value) and array.

§

DeleteClaimMap

Remove a mapping from groups to a custom claim

Fields

§name: String
§claim_name: String
§group: String
§

ResetSecrets(Named)

Reset the secrets associated to this client

§

ShowBasicSecret(Named)

Show the associated basic secret for this client

§

Delete(Named)

Delete a oauth2 client

§

SetDisplayname(Oauth2SetDisplayname)

Set a new display name for a client

§

SetName

Set a new name for this client. You may need to update your integrated applications after this so that they continue to function correctly.

Fields

§nopt: Named
§name: String
§

SetLandingUrl

The landing URL is the default origin of the OAuth2 client. Additionally, this landing URL is the target when Kanidm redirects the user from the apps listing page.

Fields

§nopt: Named
§url: Url
§

SetImage

The image presented on the Kanidm Apps Listing page for an OAuth2 resource server.

Fields

§nopt: Named
§path: PathBuf

A local file path to an image to use as the icon for this OAuth2 client.

§image_type: Option<ImageType>

The type of image being uploaded.

§

RemoveImage(Named)

Removes the custom image previously set.

§

AddOrigin

Add a supplemental URL as a redirection target. For example a phone app may use a redirect URL such as app://my-cool-app to trigger a native redirection event out of a browser.

Fields

§name: String
§origin: Url
§

RemoveOrigin

Remove a supplemental redirect URL from the OAuth2 client configuration.

Fields

§name: String
§origin: Url
§

EnablePkce(Named)

Enable PKCE on this oauth2 client. This defaults to being enabled.

§

DisablePkce(Named)

Disable PKCE on this oauth2 client to work around insecure clients that may not support it. You should request the client to enable PKCE!

§

EnableLegacyCrypto(Named)

Enable legacy signing crypto on this oauth2 client. This defaults to being disabled. You only need to enable this for openid clients that do not support modern cryptographic operations.

§

DisableLegacyCrypto(Named)

Disable legacy signing crypto on this oauth2 client. This is the default.

§

EnableStrictRedirectUri

Enable strict validation of redirect URLs. Previously redirect URLs only validated the origin of the URL matched. When enabled, redirect URLs must match exactly.

Fields

§name: String
§

DisableStrictRedirectUri

Fields

§name: String
§

EnablePublicLocalhost

Allow public clients to redirect to localhost.

Fields

§name: String
§

DisablePublicLocalhost

Disable public clients redirecting to localhost.

Fields

§name: String
§

PreferShortUsername(Named)

Use the ‘name’ attribute instead of ‘spn’ for the preferred_username

§

PreferSPNUsername(Named)

Use the ‘spn’ attribute instead of ‘name’ for the preferred_username

Implementations§

source§

impl Oauth2Opt

source

pub fn debug(&self) -> bool

source

pub async fn exec(&self)

Trait Implementations§

source§

impl Debug for Oauth2Opt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromArgMatches for Oauth2Opt

source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
source§

impl Subcommand for Oauth2Opt

source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate Self via [FromArgMatches::from_arg_matches_mut] Read more
source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to [Command] so it can instantiate self via [FromArgMatches::update_from_arg_matches_mut] Read more
source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T> AsTaggedExplicit<'a> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self>

§

impl<'a, T> AsTaggedImplicit<'a> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more