From 4b76985fe3cd526312019958bc01d212f303a138 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 23 Dec 2023 19:57:46 +0800 Subject: [PATCH] Set `claim`'s `destinations` in `AuthorizeController`. --- .../Claims/AbpDefaultOpenIddictClaimsPrincipalHandler.cs | 6 ------ .../Volo/Abp/OpenIddict/Controllers/AuthorizeController.cs | 6 ++++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDefaultOpenIddictClaimsPrincipalHandler.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDefaultOpenIddictClaimsPrincipalHandler.cs index 95f43e5288..7a5b3d2835 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDefaultOpenIddictClaimsPrincipalHandler.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Claims/AbpDefaultOpenIddictClaimsPrincipalHandler.cs @@ -26,12 +26,6 @@ public class AbpDefaultOpenIddictClaimsPrincipalHandler : IAbpOpenIddictClaimsPr continue; } - if (claim.Type == AbpClaimTypes.RememberMe) - { - claim.SetDestinations(OpenIddictConstants.Destinations.AccessToken); - continue; - } - switch (claim.Type) { case OpenIddictConstants.Claims.PreferredUsername: diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AuthorizeController.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AuthorizeController.cs index 4b2e3a04b6..988f4067ee 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AuthorizeController.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AuthorizeController.cs @@ -127,7 +127,8 @@ public class AuthorizeController : AbpOpenIdDictControllerBase if (result.Properties != null && result.Properties.IsPersistent) { - principal.AddClaim(AbpClaimTypes.RememberMe, true.ToString()); + var claim = new Claim(AbpClaimTypes.RememberMe, true.ToString()).SetDestinations(OpenIddictConstants.Destinations.AccessToken); + principal.Identities.FirstOrDefault()?.AddClaim(claim); } // Note: in this sample, the granted scopes match the requested scope @@ -226,7 +227,8 @@ public class AuthorizeController : AbpOpenIdDictControllerBase var result = await HttpContext.AuthenticateAsync(IdentityConstants.ApplicationScheme); if (result.Succeeded && result.Properties != null && result.Properties.IsPersistent) { - principal.AddClaim(AbpClaimTypes.RememberMe, true.ToString()); + var claim = new Claim(AbpClaimTypes.RememberMe, true.ToString()).SetDestinations(OpenIddictConstants.Destinations.AccessToken); + principal.Identities.FirstOrDefault()?.AddClaim(claim); } // Note: in this sample, the granted scopes match the requested scope