completeRegister method

  1. @override
Future<CorbadoTokens> completeRegister(
  1. RegistrationCompleteRequest request
)
override

Completes the registration by sending the solution to the challenge back.

Implementation

@override
Future<CorbadoTokens> completeRegister(
  RegistrationCompleteRequest request,
) async {
  try {
    final signedChallenge = jsonEncode(
      CorbadoRegisterSignedChallengeRequest.fromRegisterCompleteRequest(
        request,
      ).toJson(),
    );

    final result = await UsersApi(_client).passKeyRegisterFinish(
      PassKeyFinishReq(signedChallenge: signedChallenge),
    );

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

    return CorbadoTokens.fromPassKeyRegisterFinishRsp(result);
  } on ApiException catch (e) {
    throw ExceptionFactory.fromBackendMessage(
      'passKeyRegisterFinish',
      e.message ?? '',
    );
  }
}