blob: 9a6312b53886678058e9857903844ffd2ed1acdd [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "device/fido/response_data.h"
#include <utility>
#include "base/base64url.h"
#include "base/strings/string_piece.h"
#include "device/fido/fido_parsing_utils.h"
namespace device {
ResponseData::~ResponseData() = default;
ResponseData::ResponseData() = default;
ResponseData::ResponseData(std::vector<uint8_t> raw_credential_id)
: raw_credential_id_(std::move(raw_credential_id)) {}
ResponseData::ResponseData(ResponseData&& other) = default;
ResponseData& ResponseData::operator=(ResponseData&& other) = default;
std::string ResponseData::GetId() const {
std::string id;
base::Base64UrlEncode(base::StringPiece(reinterpret_cast<const char*>(
raw_credential_id_.data()),
raw_credential_id_.size()),
base::Base64UrlEncodePolicy::OMIT_PADDING, &id);
return id;
}
} // namespace device