using System.Threading.Tasks;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Microsoft.Owin.Security.Notifications;
using Microsoft.Owin.Security.OpenIdConnect;
using Telerik.Sitefinity.Authentication.Configuration.SecurityTokenService.ExternalProviders;
using Telerik.Sitefinity.Authentication.IdentityServer;
 
namespace SitefinityWebApp
{
    public class MyCustomOIDCHandler : SitefinityOpenIdConnectAuthenticationNotifications
    {
        public MyCustomOIDCHandler(OpenIDConnectAuthenticationProviderElement openIdConfig) : base(openIdConfig)
        {
        }
 
        protected override Task SecurityTokenValidatedHandler(SecurityTokenValidatedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            return base.SecurityTokenValidatedHandler(notification);
        }
 
        protected override Task AuthenticationFailedHandler(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            return base.AuthenticationFailedHandler(notification);
        }
 
        protected override Task AuthorizationCodeReceivedHandler(AuthorizationCodeReceivedNotification notification)
        {
            return base.AuthorizationCodeReceivedHandler(notification);
        }
 
        protected override Task MessageReceivedHandler(MessageReceivedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            return base.MessageReceivedHandler(notification);
        }
 
        protected override Task RedirectToIdentityProviderHandler(RedirectToIdentityProviderNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            return base.RedirectToIdentityProviderHandler(notification);
        }
 
        protected override Task SecurityTokenReceivedHandler(SecurityTokenReceivedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
        {
            return base.SecurityTokenReceivedHandler(notification);
        }
    }
}