initRegister method

  1. @override
Future<RegistrationInitResponse> initRegister(
  1. CorbadoRequest request
)
override

Initiates the registration by asking for a challenge.

Implementation

@override
Future<RegistrationInitResponse> initRegister(CorbadoRequest request) async {
  try {
    final result = await UsersApi(_client).passKeyRegisterStart(
      PassKeyRegisterStartReq(
        username: request.email,
        fullName: 'test',
      ),
    );

    if (result == null) {
      throw UnexpectedBackendException(
        'passKeyRegisterStart',
        'result was null',
      );
    }

    final json = jsonDecode(result.data.challenge) as Map<String, dynamic>;
    final typed = CorbadoRegisterChallenge.fromJson(json);
    return typed.toRegisterInitResponse();
  } on ApiException catch (e) {
    throw ExceptionFactory.fromBackendMessage(
      'passKeyRegisterStart',
      e.message ?? '',
    );
  }
}