0

Trying to implement single sign On using oauth 2.0 and openIDConnect in ASP.NET web form Application. I have all the credential. My authority address i am browsing and returning JSON Data. But, from my code it's showing Error.What is the issue in my code configurationManager.GetConfigurationAsync(CancellationToken.None).Result; return configuration.SigningKeys;?

 public void Configuration(IAppBuilder app)
    {
        IdentityModelEventSource.ShowPII = true;

        // Configure the authentication middleware
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
        app.UseCookieAuthentication(new CookieAuthenticationOptions());

        // Configure the OpenID Connect authentication middleware
        app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
        {
            ClientId = ConfigurationManager.AppSettings["OpenIdConnectClientId"],
            ClientSecret = ConfigurationManager.AppSettings["OpenIdConnectClientSecret"],
            Authority = ConfigurationManager.AppSettings["OpenIdConnectAuthority"],
            RedirectUri = ConfigurationManager.AppSettings["OpenIdConnectRedirectUri"],
            ResponseType = OpenIdConnectResponseType.Code,
            Scope = OpenIdConnectScope.OpenId + " " + "profile" + " " + OpenIdConnectScope.Email,
            SignInAsAuthenticationType = CookieAuthenticationDefaults.AuthenticationType,
            Notifications = new OpenIdConnectAuthenticationNotifications
            {
                RedirectToIdentityProvider = (context) =>
                {
                    context.ProtocolMessage.RedirectUri = ConfigurationManager.AppSettings["OpenIdConnectRedirectUri"];
                    return Task.CompletedTask;
                },
                AuthenticationFailed = (context) =>
                {
                    // Handle authentication failure
                    context.HandleResponse();
                    context.Response.Redirect("/Error?message=" + context.Exception.Message);
                    return Task.CompletedTask;
                }
            },
            TokenValidationParameters = new TokenValidationParameters
            {
                ValidateIssuer = true,
                ValidateAudience = true,
                ValidateLifetime = true,
                ValidateIssuerSigningKey = true,
                ValidIssuer = ConfigurationManager.AppSettings["OpenIdConnectAuthority"],
                ValidAudience = ConfigurationManager.AppSettings["OpenIdConnectClientId"],
                IssuerSigningKeys = GetSigningKeys()
            }
        });
    }

    private IEnumerable<SecurityKey> GetSigningKeys()
    {
        var issuer = ConfigurationManager.AppSettings["OpenIdConnectAuthority"];
        var configurationManager = new ConfigurationManager<OpenIdConnectConfiguration>($"{issuer}/.well-known/openid-configuration", new OpenIdConnectConfigurationRetriever());
        var configuration = configurationManager.GetConfigurationAsync(CancellationToken.None).Result;
        return configuration.SigningKeys;
    }

Error:

Stack Trace:

[HttpRequestException: Response status code does not indicate success: 426 (InvalidRequest).] System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() +121294 Microsoft.IdentityModel.Protocols.d__8.MoveNext() +720

[IOException: IDX20804: Unable to retrieve document from: 'https://login.microsoftonline.com/f66fae02-5d36-495b-bfe0-78a6ff9f8e6e/.well-known/openid-configuration'.] Microsoft.IdentityModel.Protocols.d__8.MoveNext() +1167 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Microsoft.IdentityModel.Protocols.OpenIdConnect.d__3.MoveNext() +388 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +60 Microsoft.IdentityModel.Protocols.d__24.MoveNext() +865

[InvalidOperationException: IDX20803: Unable to obtain configuration from: 'https://login.microsoftonline.com/f66fae02-5d36-495b-bfe0-78a6ff9f8e6e/.well-known/openid-configuration'.] Microsoft.IdentityModel.Protocols.d__24.MoveNext() +1570

[AggregateException: One or more errors occurred.] System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) +4761032 AHS.HR.UserInterface.Startup.GetSigningKeys() in C:\SSO\AHS.HR.Mgt.GSK\AHS.HR.Mgt\AHS.HR.Mgt.UserInterface\Startup.cs:85 AHS.HR.UserInterface.Startup.Configuration(IAppBuilder app) in C:\SSO\AHS.HR.Mgt.GSK\AHS.HR.Mgt\AHS.HR.Mgt.UserInterface\Startup.cs:44

[TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +128 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +142 Owin.Loader.<>c__DisplayClass19_1.b__0(IAppBuilder builder) +93 Owin.Loader.<>c__DisplayClass9_0.b__0(IAppBuilder builder) +212 Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action1 startup) +873 Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action1 startup) +51 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +101 System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +135 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +160 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +580 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +165 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +267 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +341

[HttpException (0x80004005): Exception has been thrown by the target of an invocation.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +523 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +107 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +688

0 Answers0