Fledge
An open source edge computing platform for industrial users
bearer_token.h
1
#ifndef _BEARER_TOKEN_H
2
#define _BEARER_TOKEN_H
3
/*
4
* Fledge bearer token utilities
5
*
6
* Copyright (c) 2021 Dianomic Systems
7
*
8
* Released under the Apache 2.0 Licence
9
*
10
* Author: Massimiliano Pinto
11
*/
12
#include <server_http.hpp>
13
#include <string>
14
15
#define AUTH_HEADER "Authorization"
16
#define BEARER_SCHEMA "Bearer "
17
24
class
BearerToken
25
{
26
public
:
27
BearerToken
(std::shared_ptr<SimpleWeb::Server<SimpleWeb::HTTP>::Request> request);
28
BearerToken
(std::string& token);
29
~
BearerToken
() {};
30
bool
exists()
31
{
32
return
m_bearer_token.length() > 0;
33
};
34
// Return string reference
35
const
std::string&
36
token() {
return
m_bearer_token; };
37
bool
verify
(
const
std::string& serverResponse);
38
unsigned
long
getExpiration() {
return
m_expiration; };
39
// Return string references
40
const
std::string&
41
getAudience() {
return
m_audience; };
42
const
std::string&
43
getSubject() {
return
m_subject; };
44
const
std::string&
45
getIssuer() {
return
m_issuer; };
46
47
private
:
48
bool
m_verified;
49
unsigned
long
m_expiration;
50
std::string m_bearer_token;
51
std::string m_audience;
52
std::string m_subject;
53
std::string m_issuer;
54
};
55
56
#endif
BearerToken
This class represents a JWT bearer token.
Definition:
bearer_token.h:24
BearerToken::verify
bool verify(const std::string &serverResponse)
BearerToken verification from JSON string reference.
Definition:
bearer_token.cpp:66
C
common
include
bearer_token.h
Generated by
1.8.17