ory_client/models/device_authn_key.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.42
7 * Contact: support@ory.sh
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct DeviceAuthnKey {
16 #[serde(rename = "attestation", skip_serializing_if = "Option::is_none")]
17 pub attestation: Option<Box<models::DeviceAuthnAttestation>>,
18 /// ClientKeyID is a client-chosen id for the key and is unique per identity.
19 #[serde(rename = "client_key_id", skip_serializing_if = "Option::is_none")]
20 pub client_key_id: Option<String>,
21 /// CreatedAt is the timestamp of when the key was created. Only used for troubleshooting/UI.
22 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
23 pub created_at: Option<String>,
24 /// DeviceName is a human readable name for the device, helping the user to distinguish it from others.
25 #[serde(rename = "device_name", skip_serializing_if = "Option::is_none")]
26 pub device_name: Option<String>,
27 #[serde(rename = "device_type", skip_serializing_if = "Option::is_none")]
28 pub device_type: Option<String>,
29 /// PublicKey is an EC (in v1) public key, used to verify signatures, stored as uncompressed bytes. The private key resides inside the device and does not exist on the server.
30 #[serde(rename = "public_key", skip_serializing_if = "Option::is_none")]
31 pub public_key: Option<Vec<i32>>,
32 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
33 pub state: Option<String>,
34 /// v1 uses SHA256 + EC256. v2 (in the future) may use ML-DSA which is post-quantum resistant. This requires Android/iOS support so we have to wait. We intentionally avoid storing the cryptographic algorithm here a la JWT/TLS to avoid security issues and algorithm negotiation.
35 #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
36 pub version: Option<i64>,
37}
38
39impl DeviceAuthnKey {
40 pub fn new() -> DeviceAuthnKey {
41 DeviceAuthnKey {
42 attestation: None,
43 client_key_id: None,
44 created_at: None,
45 device_name: None,
46 device_type: None,
47 public_key: None,
48 state: None,
49 version: None,
50 }
51 }
52}
53