remote service support via Jwt

This commit is contained in:
Shaun Walker
2022-03-30 08:07:03 -04:00
parent b7675a21eb
commit 3194c5b600
20 changed files with 272 additions and 80 deletions

View File

@ -133,8 +133,8 @@ namespace Oqtane.Security
if (alias != null && user != null && !user.IsDeleted)
{
identity.AddClaim(new Claim(ClaimTypes.Name, user.Username));
identity.AddClaim(new Claim(ClaimTypes.PrimarySid, user.UserId.ToString()));
identity.AddClaim(new Claim(ClaimTypes.GroupSid, alias.SiteKey));
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()));
identity.AddClaim(new Claim("sitekey", alias.SiteKey));
if (user.Roles.Contains(RoleNames.Host))
{
// host users are site admins by default
@ -160,12 +160,12 @@ namespace Oqtane.Security
{
identity.RemoveClaim(claim);
}
claim = identity.Claims.FirstOrDefault(item => item.Type == ClaimTypes.PrimarySid);
claim = identity.Claims.FirstOrDefault(item => item.Type == ClaimTypes.NameIdentifier);
if (claim != null)
{
identity.RemoveClaim(claim);
}
claim = identity.Claims.FirstOrDefault(item => item.Type == ClaimTypes.GroupSid);
claim = identity.Claims.FirstOrDefault(item => item.Type == "sitekey");
if (claim != null)
{
identity.RemoveClaim(claim);

View File

@ -7,6 +7,7 @@ namespace Oqtane.Shared
{
public Alias Alias { get; set; }
public string AntiForgeryToken { get; set; } // passed from server for use in service calls on client
public string AuthorizationToken { get; set; } // passed from server for use in service calls on client
public string RemoteIPAddress { get; set; } // passed from server as cannot be reliable retrieved on client
}
}