FinalizePasskeySignInResponse.swift 925 B

1234567891011121314151617181920212223242526
  1. import Foundation
  2. /// Represents the response from the `finalizePasskeySignIn` endpoint.
  3. @available(iOS 13, *)
  4. struct FinalizePasskeySignInResponse: AuthRPCResponse {
  5. /// The ID token for the authenticated user.
  6. var idToken: String = "idToken"
  7. /// The refresh token for the authenticated user.
  8. var refreshToken: String = "refreshToken"
  9. /// Initializes a new `FinalizePasskeySignInResponse` from a dictionary.
  10. ///
  11. /// - Parameter dictionary: The dictionary containing the response data.
  12. /// - Throws: An error if parsing fails.
  13. init(dictionary: [String: AnyHashable]) throws {
  14. guard let idToken = dictionary[idToken] as? String,
  15. let refreshToken = dictionary[refreshToken] as? String else {
  16. throw AuthErrorUtils.unexpectedResponse(deserializedResponse: dictionary)
  17. }
  18. self.idToken = idToken
  19. self.refreshToken = refreshToken
  20. }
  21. }