public async Task <IActionResult> GetKycToken()
        {
            var oldLykkeToken = HttpContext.GetBearerTokenFromAuthorizationHeader();

            if (string.IsNullOrWhiteSpace(oldLykkeToken))
            {
                return(Unauthorized());
            }

            var lykkeSession = await _lykkeSessionManager.GetActiveAsync(oldLykkeToken);

            if (lykkeSession == null)
            {
                return(Unauthorized());
            }

            var tokens = lykkeSession.IroncladTokens;

            if (tokens == null)
            {
                return(Unauthorized());
            }

            if (IsExpired(tokens.ExpiresAt))
            {
                tokens = await RefreshIroncladTokens(tokens.RefreshToken);
            }

            lykkeSession.IroncladTokens = tokens;

            var newLykkeSession = new LykkeSession.LykkeSession(oldLykkeToken, tokens);

            await _lykkeSessionManager.SetAsync(newLykkeSession);

            return(new JsonResult(new { token = tokens.AccessToken }));
        }
        private Task SaveLykkeSession(string oldLykkeToken, TokenData tokens)
        {
            var lykkeSession = new LykkeSession.LykkeSession(oldLykkeToken, tokens);

            return(_lykkeSessionManager.SetAsync(lykkeSession));
        }