*/
typedef enum {
WAUTHN_ERROR_NONE = 0x00, /**< Successful */
+ WAUTHN_ERROR_NONE_AND_WAIT = 0x01, /**< Successful and needs to wait for other result*/
WAUTHN_ERROR_UNKNOWN = -0x01, /**< Unknown error */
WAUTHN_ERROR_INVALID_PARAMETER = -0x02, /**< Invalid function parameter */
WAUTHN_ERROR_PERMISSION_DENIED = -0x03, /**< Permission denied */
indicates no preference (optional) */
wauthn_authentication_exts_s *extensions; /**< The Relying Party MAY use this member to provide
client extension inputs requesting additional processing by the client and authenticator.(optional) */
- wauthn_hybrid_linked_data_s *linked_device; /**< Linked Device Connection Info (optional) */
+ wauthn_hybrid_linked_data_s *linked_device; /**< Linked Device Connection Info. Optional.
+ If not null, the state assisted transaction will start.*/
} wauthn_pubkey_cred_creation_options_s;
/**
wauthn_authentication_exts_s *extensions; /**<
The Relying Party MAY use this member to provide client extension inputs requesting
additional processing by the client and authenticator.(optional) */
- wauthn_hybrid_linked_data_s *linked_device; /**< Linked Device Connection Info (optional) */
+ wauthn_hybrid_linked_data_s *linked_device; /**< Linked Device Connection Info. Optional.
+ If not null, the state assisted transaction will start.*/
} wauthn_pubkey_cred_request_options_s;
/**
the results of processing client extensions requested by the Relying Party
upon the Relying Party's invocation of #wauthn_make_credential(). (optional)*/
wauthn_hybrid_linked_data_s *linked_device; /**<
- Linked Device Connection Info (optional) */
+ Linked Device Connection Info (optional).
+ If not null, the caller has to store this value and use this
+ in the next transaction to invoke state assisted transaction. */
} wauthn_pubkey_credential_attestation_s;
/**
The results of processing client extensions requested by the Relying Party
upon the Relying Party's invocation of #wauthn_get_assertion(). (optional)*/
wauthn_hybrid_linked_data_s *linked_device; /**<
- Linked Device Connection Info (optional) */
+ Linked Device Connection Info (optional).
+ If not null, the caller has to store this value and use this
+ in the next transaction to invoke state assisted transaction. */
} wauthn_pubkey_credential_assertion_s;
/**
wauthn_error_e result,
void *user_data);
+/**
+ * @brief Invoked when the authenticator needs to update its inked device data.
+ *
+ * @remarks This callback is only used in state assisted transaction.
+ * @remarks if the result is WAUTHN_ERROR_NONE_AND_WAIT, the client must wait
+ * for the result WAUTHN_ERROR_NONE to arrive for at least 2 minutes.
+ *
+ * @since_tizen 9.0
+ * @param[in] linked_data The Linked Device Connection Info.
+ * If this is not null, the client has to update the data for next use.
+ * @param[in] result The result of the request.
+ * #WAUTHN_ERROR_NONE_AND_WAIT if a update message has arrived and
+ * the client needs to wait for another message to arrive.
+ * #WAUTHN_ERROR_NONE if the client doesn't have to to wait for another message.
+ * @param[in] user_data The user data passed from the callback structure, #wauthn_ga_callbacks_s.
+
+ * @see #wauthn_ga_callbacks_s
+ * @see #wauthn_hybrid_linked_data_s
+ */
+typedef void (*wauthn_cb_update_linked_data)(const wauthn_hybrid_linked_data_s *linked_data,
+ wauthn_error_e result,
+ void *user_data);
+
/**
* @brief The structure for callback function list used to make credential.
* @since_tizen 9.0
call back function for displaying QR code*/
wauthn_cb_mc_on_response response_callback; /**<
call back function for getting the final response*/
+ wauthn_cb_update_linked_data linked_data_callback; /**<
+ call back function for getting the updated linked device data*/
void *user_data; /**< user data to be passed to qrcode_callback and response_callback*/
} wauthn_mc_callbacks_s;
call back function for displaying QR code*/
wauthn_cb_ga_on_response response_callback; /**<
call back function for getting the final response*/
+ wauthn_cb_update_linked_data linked_data_callback; /**<
+ call back function for getting the updated linked device data*/
void *user_data; /**<
user data to be passed to qrcode_callback and response_callback*/
} wauthn_ga_callbacks_s;