OKTA MVC - Как обрабатывать OpenIdConnectProtocolException, когда пользователь не назначен приложению - PullRequest
0 голосов
/ 14 июля 2020

Я интегрировал свое приложение. Net MVC с OKTA, используя OpenID connect. Все нормально работает. но когда пользователь не назначен приложению, после входа в систему okta он перенаправляется на страницу http://localhost:8082/authorization-code/callback с сообщением об ошибке ниже

OpenIdConnectProtocolException: сообщение содержит ошибку: 'access_denied', error_description: 'User is not assigned в клиентское приложение. ', error_uri:' error_uri is null '

Как обработать это исключение? Я хочу перенаправить пользователя на страницу с сообщением об ошибке. Ниже мой код на странице startup.cs

public void Configuration(IAppBuilder app)
    {
        app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

        app.UseCookieAuthentication(new CookieAuthenticationOptions());

        app.UseOktaMvc(new OktaMvcOptions()
        {
            OktaDomain = ConfigurationManager.AppSettings["okta:OktaDomain"],
            ClientId = ConfigurationManager.AppSettings["okta:ClientId"],
            ClientSecret = ConfigurationManager.AppSettings["okta:ClientSecret"],
            RedirectUri = ConfigurationManager.AppSettings["okta:RedirectUri"],
            PostLogoutRedirectUri = ConfigurationManager.AppSettings["okta:PostLogoutRedirectUri"],
            GetClaimsFromUserInfoEndpoint = true,
            AuthorizationServerId = "",
            Scope = new List<string> { "openid", "profile", "email" },

        });
}

Есть ли какое-нибудь событие обратного вызова для обработки этого исключения?

...