generateRegistrationOptions method

Future<Result<Map<String, dynamic>>> generateRegistrationOptions({
  1. String? name,
  2. String? authenticatorAttachment,
  3. String? context,
})

GET /passkey/generate-register-options

Implementation

Future<Result<Map<String, dynamic>>> generateRegistrationOptions({
  String? name,
  String? authenticatorAttachment,
  String? context,
}) async {
  final qp = <String, dynamic>{
    'name': ?name,
    'authenticatorAttachment': ?authenticatorAttachment,
    'context': ?context,
  };
  try {
    final response = await _dio.get<Map<String, dynamic>?>(
      '$_root/passkey/generate-register-options',
      queryParameters: qp.isEmpty ? null : qp,
      options: _jsonOptions(_dio),
    );
    final data = response.data;
    if (data == null) {
      return Result.err(
        BetterError(
          message: 'Empty registration options response',
          stack: '',
        ),
      );
    }
    return Result.ok(data);
  } on DioException catch (e, s) {
    return _passkeyErr(e, s, e);
  } catch (e, s) {
    return Result.err(
      BetterError(message: e.toString(), stack: s.toString()),
    );
  }
}