1#ifndef TENDUKE_OIDC_IDTOKENSESSION_H
2#define TENDUKE_OIDC_IDTOKENSESSION_H
4#include "../session/OIDCSessionImpl.h"
6namespace tenduke {
namespace oidc {
32 std::unique_ptr<tenduke::oidc::OIDCState>
state,
33 const std::shared_ptr<const tenduke::oidc::OIDCLogin> &
oidc,
34 const std::shared_ptr<const tenduke::oidc::OIDCClient> &
oidcClient,
35 const std::shared_ptr<tenduke::time::Clock> &
clock,
36 const std::shared_ptr<::tenduke::oidc::OIDCSessionEventListener> &eventListener,
A tenduke::oidc::OIDCSession, which uses ID-token as the source-of-truth for expiration times.
Definition IdTokenSession.h:19
void refreshOrLogin() override
Performs either refresh, or if it fails, new login.
Definition IdTokenSession.cpp:25
bool isValid() override
Checks that local session is valid.
Definition IdTokenSession.cpp:9
Default implementation of tenduke::oidc::OIDCSession.
Definition OIDCSessionImpl.h:23
std::shared_ptr< tenduke::oidc::OIDCState > state
The OIDC-state.
Definition OIDCSessionImpl.h:73
const std::chrono::milliseconds loginTimeout
Login timeout.
Definition OIDCSessionImpl.h:77
const std::uint64_t validitySafetyMarginS
Safety margin in seconds for checking if access token has expired.
Definition OIDCSessionImpl.h:81
const std::shared_ptr< tenduke::time::Clock > clock
Clock for checking session validity locally.
Definition OIDCSessionImpl.h:84
const std::shared_ptr< const tenduke::oidc::OIDCClient > oidcClient
The OIDC-client.
Definition OIDCSessionImpl.h:88
const std::shared_ptr< const tenduke::oidc::OIDCLogin > oidc
Service to perform OIDC login.
Definition OIDCSessionImpl.h:86
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4