Adding claims when signing inWhy is it important to override GetHashCode when Equals method is overridden?When to use struct?When to use .First and when to use .FirstOrDefault with LINQ?decimal vs double! - Which one should I use and when?Is there a way to skip password typing when using https:// on GitHub?How and when to use ‘async’ and ‘await’Using ASP.NET Web API, my ExecutionContext isn't flowing in async actionsStore jwt claims in cookies using owinUnable to find Use.RunTimePageInfo() method in startup.cs file in aspnet coreCan authentication cookie be shared between two .Net Core 2.0 applications?
How to test the sharpness of a knife?
How to preserve electronics (computers, iPads and phones) for hundreds of years
Why the "ls" command is showing the permissions of files in a FAT32 partition?
If the only attacker is removed from combat, is a creature still counted as having attacked this turn?
Deciphering cause of death?
What is this high flying aircraft over Pennsylvania?
Giving feedback to someone without sounding prejudiced
How were servants to the Kaiser of Imperial Germany treated and where may I find more information on them
Why is the sun approximated as a black body at ~ 5800 K?
Sound waves in different octaves
Check if object is null and return null
In One Punch Man, is King actually weak?
Quoting Keynes in a lecture
Is there a RAID 0 Equivalent for RAM?
Showing mass murder in a kid's book
Determining multivariate least squares with constraint
Overlapping circles covering polygon
Storage of electrolytic capacitors - how long?
Telemetry for feature health
Should I warn a new PhD Student?
How would a solely written language work mechanically
Typing CO_2 easily
What is the meaning of "You've never met a graph you didn't like?"
Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?
Adding claims when signing in
Why is it important to override GetHashCode when Equals method is overridden?When to use struct?When to use .First and when to use .FirstOrDefault with LINQ?decimal vs double! - Which one should I use and when?Is there a way to skip password typing when using https:// on GitHub?How and when to use ‘async’ and ‘await’Using ASP.NET Web API, my ExecutionContext isn't flowing in async actionsStore jwt claims in cookies using owinUnable to find Use.RunTimePageInfo() method in startup.cs file in aspnet coreCan authentication cookie be shared between two .Net Core 2.0 applications?
Days I'm strugling with new Authentication in .NET Core 2.2
Here what I've :
public void ConfigureServices(IServiceCollection services)
services.AddAuthentication(options => options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
options.LoginPath = $"/apiCookieAuthenticationDefaults.LoginPath";
options.LogoutPath = $"/apiCookieAuthenticationDefaults.LogoutPath";
options.EventsType = typeof(MyEvents);
);
services.AddScoped<MyEvents>();
public class MyEvents : CookieAuthenticationEvents
{
public async override Task SignedIn(CookieSignedInContext context)
// do some checks
// add cookie to CookieManager >> WORKS WELL
// add claims to Principal >> NOT WORKING
if (error)
await context.HttpContext.SignOutAsync(scheme); context.Principal = null ;
public async override Task ValidatePrincipal(CookieValidatePrincipalContext context)
// idea here is to check if claims are already set, if not add them
if (context.Principal.HasClaim(c => c.Type == ClaimTypes.NameIdentifier))
return;
// time consuming claims search
// add claims here : WORKS but only for this instance
Problem
Adding claims in SignedIn does absolutely nothing, when back in calling method, claims are not set.
Adding claims in ValidatePrincipal only works for the current [Authorize] check. Each time I'm entering this method claims are no more set.
I would like to avoid a time consuming process of searching claims. Is there a safer way to add them once for the session?
Cheers,
c# authentication cookies .net-core
add a comment |
Days I'm strugling with new Authentication in .NET Core 2.2
Here what I've :
public void ConfigureServices(IServiceCollection services)
services.AddAuthentication(options => options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
options.LoginPath = $"/apiCookieAuthenticationDefaults.LoginPath";
options.LogoutPath = $"/apiCookieAuthenticationDefaults.LogoutPath";
options.EventsType = typeof(MyEvents);
);
services.AddScoped<MyEvents>();
public class MyEvents : CookieAuthenticationEvents
{
public async override Task SignedIn(CookieSignedInContext context)
// do some checks
// add cookie to CookieManager >> WORKS WELL
// add claims to Principal >> NOT WORKING
if (error)
await context.HttpContext.SignOutAsync(scheme); context.Principal = null ;
public async override Task ValidatePrincipal(CookieValidatePrincipalContext context)
// idea here is to check if claims are already set, if not add them
if (context.Principal.HasClaim(c => c.Type == ClaimTypes.NameIdentifier))
return;
// time consuming claims search
// add claims here : WORKS but only for this instance
Problem
Adding claims in SignedIn does absolutely nothing, when back in calling method, claims are not set.
Adding claims in ValidatePrincipal only works for the current [Authorize] check. Each time I'm entering this method claims are no more set.
I would like to avoid a time consuming process of searching claims. Is there a safer way to add them once for the session?
Cheers,
c# authentication cookies .net-core
add a comment |
Days I'm strugling with new Authentication in .NET Core 2.2
Here what I've :
public void ConfigureServices(IServiceCollection services)
services.AddAuthentication(options => options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
options.LoginPath = $"/apiCookieAuthenticationDefaults.LoginPath";
options.LogoutPath = $"/apiCookieAuthenticationDefaults.LogoutPath";
options.EventsType = typeof(MyEvents);
);
services.AddScoped<MyEvents>();
public class MyEvents : CookieAuthenticationEvents
{
public async override Task SignedIn(CookieSignedInContext context)
// do some checks
// add cookie to CookieManager >> WORKS WELL
// add claims to Principal >> NOT WORKING
if (error)
await context.HttpContext.SignOutAsync(scheme); context.Principal = null ;
public async override Task ValidatePrincipal(CookieValidatePrincipalContext context)
// idea here is to check if claims are already set, if not add them
if (context.Principal.HasClaim(c => c.Type == ClaimTypes.NameIdentifier))
return;
// time consuming claims search
// add claims here : WORKS but only for this instance
Problem
Adding claims in SignedIn does absolutely nothing, when back in calling method, claims are not set.
Adding claims in ValidatePrincipal only works for the current [Authorize] check. Each time I'm entering this method claims are no more set.
I would like to avoid a time consuming process of searching claims. Is there a safer way to add them once for the session?
Cheers,
c# authentication cookies .net-core
Days I'm strugling with new Authentication in .NET Core 2.2
Here what I've :
public void ConfigureServices(IServiceCollection services)
services.AddAuthentication(options => options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
options.LoginPath = $"/apiCookieAuthenticationDefaults.LoginPath";
options.LogoutPath = $"/apiCookieAuthenticationDefaults.LogoutPath";
options.EventsType = typeof(MyEvents);
);
services.AddScoped<MyEvents>();
public class MyEvents : CookieAuthenticationEvents
{
public async override Task SignedIn(CookieSignedInContext context)
// do some checks
// add cookie to CookieManager >> WORKS WELL
// add claims to Principal >> NOT WORKING
if (error)
await context.HttpContext.SignOutAsync(scheme); context.Principal = null ;
public async override Task ValidatePrincipal(CookieValidatePrincipalContext context)
// idea here is to check if claims are already set, if not add them
if (context.Principal.HasClaim(c => c.Type == ClaimTypes.NameIdentifier))
return;
// time consuming claims search
// add claims here : WORKS but only for this instance
Problem
Adding claims in SignedIn does absolutely nothing, when back in calling method, claims are not set.
Adding claims in ValidatePrincipal only works for the current [Authorize] check. Each time I'm entering this method claims are no more set.
I would like to avoid a time consuming process of searching claims. Is there a safer way to add them once for the session?
Cheers,
c# authentication cookies .net-core
c# authentication cookies .net-core
asked Mar 7 at 21:51
Arnaud F.Arnaud F.
5,54264086
5,54264086
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55053369%2fadding-claims-when-signing-in%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55053369%2fadding-claims-when-signing-in%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown