Skip to content

Commit 9db2a55

Browse files
authored
Merge pull request #5010 from sbwalker/dev
fix #4964 - use bearer token if it already exists
2 parents 1864d18 + 950d90b commit 9db2a55

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

Oqtane.Server/Components/App.razor

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@
174174
// get jwt token for downstream APIs
175175
if (Context.User.Identity.IsAuthenticated)
176176
{
177-
CreateJwtToken(alias);
177+
GetJwtToken(alias);
178178
}
179179

180180
// includes resources
@@ -441,13 +441,23 @@
441441
}
442442
}
443443

444-
private void CreateJwtToken(Alias alias)
444+
private void GetJwtToken(Alias alias)
445445
{
446-
var sitesettings = Context.GetSiteSettings();
447-
var secret = sitesettings.GetValue("JwtOptions:Secret", "");
448-
if (!string.IsNullOrEmpty(secret))
446+
_authorizationToken = Context.Request.Headers[HeaderNames.Authorization];
447+
if (!string.IsNullOrEmpty(_authorizationToken))
449448
{
450-
_authorizationToken = JwtManager.GenerateToken(alias, (ClaimsIdentity)Context.User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
449+
// bearer token was provided by remote Identity Provider and was persisted using SaveTokens
450+
_authorizationToken = _authorizationToken.Replace("Bearer ", "");
451+
}
452+
else
453+
{
454+
// generate bearer token if a secret has been configured in User Settings
455+
var sitesettings = Context.GetSiteSettings();
456+
var secret = sitesettings.GetValue("JwtOptions:Secret", "");
457+
if (!string.IsNullOrEmpty(secret))
458+
{
459+
_authorizationToken = JwtManager.GenerateToken(alias, (ClaimsIdentity)Context.User.Identity, secret, sitesettings.GetValue("JwtOptions:Issuer", ""), sitesettings.GetValue("JwtOptions:Audience", ""), int.Parse(sitesettings.GetValue("JwtOptions:Lifetime", "20")));
460+
}
451461
}
452462
}
453463

0 commit comments

Comments
 (0)