ory_client/models/update_registration_flow_with_oidc_method.rs
1/*
2 * Ory APIs
3 *
4 * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | -------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) |
5 *
6 * The version of the OpenAPI document: v1.22.24
7 * Contact: support@ory.sh
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// UpdateRegistrationFlowWithOidcMethod : Update Registration Flow with OpenID Connect Method
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct UpdateRegistrationFlowWithOidcMethod {
17 /// The CSRF Token
18 #[serde(rename = "csrf_token", skip_serializing_if = "Option::is_none")]
19 pub csrf_token: Option<String>,
20 /// IDToken is an optional id token provided by an OIDC provider If submitted, it is verified using the OIDC provider's public key set and the claims are used to populate the OIDC credentials of the identity. If the OIDC provider does not store additional claims (such as name, etc.) in the IDToken itself, you can use the `traits` field to populate the identity's traits. Note, that Apple only includes the users email in the IDToken. Supported providers are Apple Google
21 #[serde(rename = "id_token", skip_serializing_if = "Option::is_none")]
22 pub id_token: Option<String>,
23 /// IDTokenNonce is the nonce, used when generating the IDToken. If the provider supports nonce validation, the nonce will be validated against this value and is required.
24 #[serde(rename = "id_token_nonce", skip_serializing_if = "Option::is_none")]
25 pub id_token_nonce: Option<String>,
26 /// Method to use This field must be set to `oidc` when using the oidc method.
27 #[serde(rename = "method")]
28 pub method: String,
29 /// The provider to register with
30 #[serde(rename = "provider")]
31 pub provider: String,
32 /// The identity traits
33 #[serde(rename = "traits", skip_serializing_if = "Option::is_none")]
34 pub traits: Option<serde_json::Value>,
35 /// Transient data to pass along to any webhooks
36 #[serde(rename = "transient_payload", skip_serializing_if = "Option::is_none")]
37 pub transient_payload: Option<serde_json::Value>,
38 /// UpstreamParameters are the parameters that are passed to the upstream identity provider. These parameters are optional and depend on what the upstream identity provider supports. Supported parameters are: `login_hint` (string): The `login_hint` parameter suppresses the account chooser and either pre-fills the email box on the sign-in form, or selects the proper session. `hd` (string): The `hd` parameter limits the login/registration process to a Google Organization, e.g. `mycollege.edu`. `prompt` (string): The `prompt` specifies whether the Authorization Server prompts the End-User for reauthentication and consent, e.g. `select_account`.
39 #[serde(rename = "upstream_parameters", skip_serializing_if = "Option::is_none")]
40 pub upstream_parameters: Option<serde_json::Value>,
41}
42
43impl UpdateRegistrationFlowWithOidcMethod {
44 /// Update Registration Flow with OpenID Connect Method
45 pub fn new(method: String, provider: String) -> UpdateRegistrationFlowWithOidcMethod {
46 UpdateRegistrationFlowWithOidcMethod {
47 csrf_token: None,
48 id_token: None,
49 id_token_nonce: None,
50 method,
51 provider,
52 traits: None,
53 transient_payload: None,
54 upstream_parameters: None,
55 }
56 }
57}
58