1 // Copyright 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "device/fido/response_data.h" 6 7 #include <utility> 8 9 #include "base/base64url.h" 10 #include "base/strings/string_piece.h" 11 #include "device/fido/fido_parsing_utils.h" 12 13 namespace device { 14 15 ResponseData::~ResponseData() = default; 16 17 ResponseData::ResponseData() = default; 18 ResponseData(std::vector<uint8_t> raw_credential_id)19ResponseData::ResponseData(std::vector<uint8_t> raw_credential_id) 20 : raw_credential_id_(std::move(raw_credential_id)) {} 21 22 ResponseData::ResponseData(ResponseData&& other) = default; 23 24 ResponseData& ResponseData::operator=(ResponseData&& other) = default; 25 GetId() const26std::string ResponseData::GetId() const { 27 std::string id; 28 base::Base64UrlEncode(base::StringPiece(reinterpret_cast<const char*>( 29 raw_credential_id_.data()), 30 raw_credential_id_.size()), 31 base::Base64UrlEncodePolicy::OMIT_PADDING, &id); 32 return id; 33 } 34 35 } // namespace device 36