Open
Description
Please provide us with the following information:
This issue is for a: (mark with an x
)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)
The issue was found for the following scenario:
Please add an 'x' for the scenario(s) where you found an issue
- Web app that signs in users
- with a work and school account in your organization: 1-WebApp-OIDC/1-1-MyOrg
- with any work and school account: /1-WebApp-OIDC/1-2-AnyOrg
- with any work or school account or Microsoft personal account: 1-WebApp-OIDC/1-3-AnyOrgOrPersonal
- with users in National or sovereign clouds 1-WebApp-OIDC/1-4-Sovereign
- with B2C users 1-WebApp-OIDC/1-5-B2C
- Web app that calls Microsoft Graph
- Calling graph with the Microsoft Graph SDK: 2-WebApp-graph-user/2-1-Call-MSGraph
- With specific token caches: 2-WebApp-graph-user/2-2-TokenCache
- Calling Microsoft Graph in national clouds: 2-WebApp-graph-user/2-4-Sovereign-Call-MSGraph
- Web app calling several APIs 3-WebApp-multi-APIs
- Web app calling your own Web API
- with a work and school account in your organization: 4-WebApp-your-API/4-1-MyOrg
- with B2C users: 4-WebApp-your-API/4-2-B2C
- with any work and school account: 4-WebApp-your-API/4-3-AnyOrg
- Web app restricting users
- by Roles: 5-WebApp-AuthZ/5-1-Roles
- by Groups: 5-WebApp-AuthZ/5-2-Groups
- Deployment to Azure
- Other (please describe)
Repro-ing the issue
Repro steps
services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = (context) =>
{
if (context.Request.Headers.ContainsKey("X-Forwarded-Host"))
{
context.ProtocolMessage.RedirectUri =
"https://" + context.Request.Headers["X-Forwarded-Host"] +
Configuration.GetSection("AzureAd").GetValue<string>("CallbackPath");
}
return Task.FromResult(0);
}
,OnMessageReceived = context =>
{
Debugger.Break();
return Task.CompletedTask;
}};
});
services
.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) // Use OpenId authentication
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd")) // Specify this is a web app and needs auth code flow
.EnableTokenAcquisitionToCallDownstreamApi(new string[] { "user.read" }) // Add ability to call web API (Graph) and get access tokens
.AddMicrosoftGraph(Configuration.GetSection("Graph")) // Add a GraphServiceClient via dependency injection
.AddInMemoryTokenCaches(cacheOptions =>
{
//cacheOptions.AbsoluteExpirationRelativeToNow = TimeSpan.FromDays(90);
}); // Use in-memory token cache-See https://github.com/AzureAD/microsoft-identity-web/wiki/token-cache-serialization
Expected behavior
I would expect an event to be exposed, to when the user performs authentication, using the AD login page, and when he returns to the application. This because I need to perform some actions right after a successful login.
Actual behavior
No event discovered :( , I've read several articles and MSFT documentation and found nothing. Is there a way yo do it ?
Possible Solution
??
Additional context/ Error codes / Screenshots
Any log messages given by the failure
Add any other context about the problem here, such as logs.
- You can enable Middleware diagnostics by uncommenting the following lines
- You can enable personally identifiable information in your exceptions to get more information in the open id connect middleware see Seeing [PII is hidden] in log messages
- Logging for MSAL.NET is described at Loggin in MSAL.NET
OS and Version?
Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)
Versions
of ASP.NET Core, of MSAL.NET
ASP.NET Core 5
Attempting to troubleshooting yourself:
- did you go through the README.md in the folder where you found the issue?
- did you go through the documentation:
Mention any other details that might be useful
Thanks! We'll be in touch soon.