/* * Callback function when an authorization code is received. */ private static async Task OnAuthorizationCodeReceived(AuthorizationCodeReceivedNotification notification) { // Extract the code from the response notification var code = notification.Code; var authorizationCodeReceived = new AuthorizationCodeReceivedMessage() { SignedInUserNameIdentifier = notification.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value }; _oidcNotificationHandlerService.OnAuthorizationCodeReceived(authorizationCodeReceived); var userTokenCache = new MSALSessionCache( authorizationCodeReceived.SignedInUserNameIdentifier, notification.OwinContext.Environment["System.Web.HttpContextBase"] as HttpContextBase ).GetMsalCacheInstance(); // TokenCache appTokenCache = null; var cca = new ConfidentialClientApplication( _ib2COidcConfidentialClientSettingsConfiguration.ClientId, _ib2COidcConfidentialClientSettingsConfiguration.AuthorityUri, // "https://login.microsoftonline.com/tfp/{tenantAuthorityName}/{defaultPolicyId}/v2.0/.well-known/openid-configuration" _ib2COidcConfidentialClientSettingsConfiguration.ClientRedirectUri, // eg: "https://localhost:44311" new ClientCredential(_ib2COidcConfidentialClientSettingsConfiguration.ClientSecret), userTokenCache, null); try { AuthenticationResult result = await cca.AcquireTokenByAuthorizationCodeAsync(code, _fullyQualifiedScopesRequiredByTargetApi); // this is actually wrong //if (result.Scopes != null && result.Scopes.Any()) //{ // notification.AuthenticationTicket.Identity.AddClaim(new Claim(Infrastructure.Constants.IDA.ClaimTitles.ScopeElementId, string.Join(" ", result.Scopes).TrimEnd())); //} } catch (Exception ex) { Console.Write(ex.Message); throw; } }
public void OnAuthorizationCodeReceived(AuthorizationCodeReceivedMessage authorizationCodeReceivedMessage) { //throw new NotImplementedException(); }