diff --git a/Oqtane.Server/Components/App.razor b/Oqtane.Server/Components/App.razor
index 6da8bb8a..6083f895 100644
--- a/Oqtane.Server/Components/App.razor
+++ b/Oqtane.Server/Components/App.razor
@@ -29,6 +29,7 @@
@inject IAliasRepository AliasRepository
@inject IUrlMappingRepository UrlMappingRepository
@inject IVisitorRepository VisitorRepository
+@inject IJwtManager JwtManager
@@ -48,7 +49,7 @@
@if (_renderMode == "Interactive")
{
-
+
}
else
{
@@ -61,11 +62,11 @@
{
@if (_renderMode == "Interactive")
{
-
+
}
else
{
-
+
}
@@ -91,17 +92,18 @@
@code {
private string _renderMode = "Interactive";
private string _interactiveRenderMode = "Server";
- private bool _prerender = true;
+ private string _prerender = "Prerendered";
+ private int _visitorId = -1;
+ private string _remoteIPAddress = "";
+ private string _authorizationToken = "";
private string _language = "en";
private string _antiForgeryToken = "";
- private string _remoteIPAddress = "";
private string _headResources = "";
private string _bodyResources = "";
private string _styleSheets = "";
private string _PWAScript = "";
private string _reconnectScript = "";
private string _message = "";
- private int _visitorId = -1;
// CascadingParameter is required to access HttpContext
[CascadingParameter]
@@ -134,7 +136,7 @@
}
if (!string.IsNullOrEmpty(site.RenderMode))
{
- _prerender = (site.RenderMode.Replace(site.Runtime, "")) == "Prerendered";
+ _prerender = site.RenderMode;
}
Route route = new Route(url, alias.Path);
@@ -155,15 +157,10 @@
}
// get jwt token for downstream APIs
- // if (User.Identity.IsAuthenticated)
- // {
- // var sitesettings = HttpContext.GetSiteSettings();
- // var secret = sitesettings.GetValue("JwtOptions:Secret", "");
- // if (!string.IsNullOrEmpty(secret))
- // {
- // AuthorizationToken = _jwtManager.GenerateToken(alias, (ClaimsIdentity)User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
- // }
- // }
+ if (Context.User.Identity.IsAuthenticated)
+ {
+ CreateJwtToken(alias);
+ }
// stylesheets
var themes = ThemeRepository.GetThemes().ToList();
@@ -298,12 +295,8 @@
language = (language.Trim().Length == 0) ? "??" : language;
// filter
- string filter = Constants.DefaultVisitorFilter;
var settings = Context.GetSiteSettings();
- if (settings.ContainsKey("VisitorFilter") && !string.IsNullOrEmpty(settings["VisitorFilter"]))
- {
- filter = settings["VisitorFilter"];
- }
+ var filter = settings.GetValue("VisitorFilter", Constants.DefaultVisitorFilter);
foreach (string term in filter.ToLower().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(sValue => sValue.Trim()).ToArray())
{
if (_remoteIPAddress.ToLower().Contains(term) || useragent.ToLower().Contains(term) || language.ToLower().Contains(term))
@@ -329,11 +322,7 @@
{
// if enabled use IP Address correlation
_visitorId = -1;
- bool correlate = true;
- if (settings.ContainsKey("VisitorCorrelation") && !string.IsNullOrEmpty(settings["VisitorCorrelation"]))
- {
- correlate = bool.Parse(settings["VisitorCorrelation"]);
- }
+ var correlate = bool.Parse(settings.GetValue("VisitorCorrelation", "true"));
if (correlate)
{
visitor = VisitorRepository.GetVisitor(SiteId, _remoteIPAddress);
@@ -416,6 +405,16 @@
}
}
+ private void CreateJwtToken(Alias alias)
+ {
+ var sitesettings = Context.GetSiteSettings();
+ var secret = sitesettings.GetValue("JwtOptions:Secret", "");
+ if (!string.IsNullOrEmpty(secret))
+ {
+ _authorizationToken = JwtManager.GenerateToken(alias, (ClaimsIdentity)Context.User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
+ }
+ }
+
private string CreatePWAScript(Alias alias, Site site, Route route)
{
return