pub struct SignatureDeviceLinkRequest {
pub relying_party_uuid: String,
pub relying_party_name: String,
pub initial_callback_url: Option<String>,
pub certificate_level: CertificateLevel,
pub signature_protocol: SignatureProtocol,
pub signature_protocol_parameters: SignatureProtocolParameters,
pub nonce: Option<String>,
pub interactions: String,
pub request_properties: Option<RequestProperties>,
pub capabilities: Option<Vec<String>>,
}Expand description
Signature Device Link Request
This struct represents a request for a signature session triggered by clicking on a link or scanning a qr code.
§Properties
relying_party_uuid- The UUID of the relying party, provided by Smart ID.relying_party_name- The name of the relying party, provided by Smart ID.initial_callback_url- The initial callback URL for the signature session. This is used to redirect the user after the signature is completed.certificate_level- The level of the certificate required for the signature.signature_protocol- The protocol used for the signature.signature_protocol_parameters- The parameters for the signature protocol.interactions- A base64 encoded JSON string of interactions allowed during the signature session. At least one interaction is required. Interactions are limited based on the flow type, look at the Interaction documentation for more information.nonce- An optional nonce for the request.request_properties- Optional properties for the request.capabilities- Used only when agreed with Smart-ID provider. When omitted, request capabilities are derived from thecertificate_levelparameter.
§Example
use smart_id_rust_client::config::SmartIDConfig;
use smart_id_rust_client::models::api::signature_session::SignatureDeviceLinkRequest;
use smart_id_rust_client::models::interaction::Interaction;
use smart_id_rust_client::models::signature::{HashingAlgorithm, SignatureAlgorithm};
use smart_id_rust_client::error::Result;
fn create_signature_request(cfg: &SmartIDConfig) -> Result<SignatureDeviceLinkRequest> {
let interactions = vec![Interaction::DisplayTextAndPIN {
display_text_60: "Sign document".to_string(),
}];
SignatureDeviceLinkRequest::new(
cfg,
interactions,
"base64-encoded-digest".to_string(),
SignatureAlgorithm::RsassaPss,
HashingAlgorithm::sha_256,
Some("https://example.com/callback".to_string()),
)
}Fields§
§relying_party_uuid: String§relying_party_name: String§initial_callback_url: Option<String>§certificate_level: CertificateLevel§signature_protocol: SignatureProtocol§signature_protocol_parameters: SignatureProtocolParameters§nonce: Option<String>§interactions: String§request_properties: Option<RequestProperties>§capabilities: Option<Vec<String>>Used only when agreed with Smart-ID provider. When omitted request capabilities are derived from certificateLevel parameter.
Implementations§
Source§impl SignatureDeviceLinkRequest
impl SignatureDeviceLinkRequest
Sourcepub fn new(
cfg: &SmartIDConfig,
interactions: Vec<Interaction>,
digest: String,
signature_algorithm: SignatureAlgorithm,
hash_algorithm: HashingAlgorithm,
initial_callback_url: Option<String>,
) -> Result<Self>
pub fn new( cfg: &SmartIDConfig, interactions: Vec<Interaction>, digest: String, signature_algorithm: SignatureAlgorithm, hash_algorithm: HashingAlgorithm, initial_callback_url: Option<String>, ) -> Result<Self>
Creates a new SignatureRequest.
§Arguments
cfg- The configuration for the Smart-ID service.interactions- A vector of interactions allowed during the signature session. At least one interaction is required. Interactions are limited based on the flow type, look at the Interaction documentation for more information.digest- The digest to be signed. Base64 encoded.signature_algorithm- The algorithm used for the signature.hash_algorithm- The hashing algorithm used for the signature.initial_callback_url- An optional initial callback URL for the signature session. This is used to redirect the user after the signature is completed.
§Errors
Returns an error if no interactions are defined or if any interaction has invalid text length.
Trait Implementations§
Source§impl Clone for SignatureDeviceLinkRequest
impl Clone for SignatureDeviceLinkRequest
Source§fn clone(&self) -> SignatureDeviceLinkRequest
fn clone(&self) -> SignatureDeviceLinkRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SignatureDeviceLinkRequest
impl Debug for SignatureDeviceLinkRequest
Source§impl<'de> Deserialize<'de> for SignatureDeviceLinkRequest
impl<'de> Deserialize<'de> for SignatureDeviceLinkRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for SignatureDeviceLinkRequest
Auto Trait Implementations§
impl Freeze for SignatureDeviceLinkRequest
impl RefUnwindSafe for SignatureDeviceLinkRequest
impl Send for SignatureDeviceLinkRequest
impl Sync for SignatureDeviceLinkRequest
impl Unpin for SignatureDeviceLinkRequest
impl UnsafeUnpin for SignatureDeviceLinkRequest
impl UnwindSafe for SignatureDeviceLinkRequest
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more