proxygen
SecondaryAuthManagerBase.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree. An additional grant
7  * of patent rights can be found in the PATENTS file in the same directory.
8  *
9  */
10 #pragma once
11 
15 
16 namespace proxygen {
17 
19  public:
20 
21  virtual ~SecondaryAuthManagerBase() = default;
22 
28  virtual std::pair<uint16_t, std::unique_ptr<folly::IOBuf>> createAuthRequest(
29  std::unique_ptr<folly::IOBuf> certRequestContext,
30  std::vector<fizz::Extension> extensions) = 0;
31 
37  virtual std::pair<uint16_t, std::unique_ptr<folly::IOBuf>> getAuthenticator(
38  const fizz::AsyncFizzBase& transport,
40  uint16_t requestId,
41  std::unique_ptr<folly::IOBuf> authRequest) = 0;
42 
47  virtual bool validateAuthenticator(
48  const fizz::AsyncFizzBase& transport,
50  uint16_t certId,
51  std::unique_ptr<folly::IOBuf> authenticator) = 0;
52 };
53 
54 } // namespace proxygen
virtual ~SecondaryAuthManagerBase()=default
virtual bool validateAuthenticator(const fizz::AsyncFizzBase &transport, TransportDirection dir, uint16_t certId, std::unique_ptr< folly::IOBuf > authenticator)=0
virtual std::pair< uint16_t, std::unique_ptr< folly::IOBuf > > createAuthRequest(std::unique_ptr< folly::IOBuf > certRequestContext, std::vector< fizz::Extension > extensions)=0
virtual std::pair< uint16_t, std::unique_ptr< folly::IOBuf > > getAuthenticator(const fizz::AsyncFizzBase &transport, TransportDirection dir, uint16_t requestId, std::unique_ptr< folly::IOBuf > authRequest)=0