Skip to content

OpenId Authentication callback/event after login #479

Open
@mesteves

Description

@mesteves

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

  1. Web app that signs in users
    1. with a work and school account in your organization: 1-WebApp-OIDC/1-1-MyOrg
    2. with any work and school account: /1-WebApp-OIDC/1-2-AnyOrg
    3. with any work or school account or Microsoft personal account: 1-WebApp-OIDC/1-3-AnyOrgOrPersonal
    4. with users in National or sovereign clouds 1-WebApp-OIDC/1-4-Sovereign
    5. with B2C users 1-WebApp-OIDC/1-5-B2C
  2. Web app that calls Microsoft Graph
    1. Calling graph with the Microsoft Graph SDK: 2-WebApp-graph-user/2-1-Call-MSGraph
    2. With specific token caches: 2-WebApp-graph-user/2-2-TokenCache
    3. Calling Microsoft Graph in national clouds: 2-WebApp-graph-user/2-4-Sovereign-Call-MSGraph
  3. Web app calling several APIs 3-WebApp-multi-APIs
  4. Web app calling your own Web API
    1. with a work and school account in your organization: 4-WebApp-your-API/4-1-MyOrg
    2. with B2C users: 4-WebApp-your-API/4-2-B2C
    3. with any work and school account: 4-WebApp-your-API/4-3-AnyOrg
  5. Web app restricting users
    1. by Roles: 5-WebApp-AuthZ/5-1-Roles
    2. by Groups: 5-WebApp-AuthZ/5-2-Groups
  6. Deployment to Azure
  7. 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.

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:

Mention any other details that might be useful


Thanks! We'll be in touch soon.

Metadata

Metadata

Labels

AnsweredquestionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions