Esempio n. 1
0
 public AutomaticTokenManagementCookieEvents(
     ITokenEndpointClient client,
     IOptions <AutomaticTokenManagementOptions> options,
     IDateTimeProvider dateTimeProvider)
 {
     m_client           = client;
     m_options          = options.Value;
     m_dateTimeProvider = dateTimeProvider;
 }
 public TokenEndpointClient(
     IOptions <AutomaticTokenManagementOptions> managementOptions,
     IOptionsSnapshot <OpenIdConnectOptions> oidcOptions,
     IAuthenticationSchemeProvider schemeProvider,
     TokenEndpointHttpClientProvider tokenEndpointHttpClientProvider)
 {
     m_managementOptions = managementOptions.Value;
     m_oidcOptions       = oidcOptions;
     m_schemeProvider    = schemeProvider;
     m_tokenEndpointHttpClientProvider = tokenEndpointHttpClientProvider;
 }
Esempio n. 3
0
        /// <summary>
        /// Setter default helse-id opsjoner for automatisk token management,parameter for refresh tid i minutter
        /// </summary>
        /// <param name="options"></param>
        /// <param name="refreshBeforeExpirationTime">Tid i minutter</param>
        public static void DefaultHelseIdOptions(this AutomaticTokenManagementOptions options, double refreshBeforeExpirationTime)
        {
            options.RefreshBeforeExpiration     = TimeSpan.FromMinutes(refreshBeforeExpirationTime);
            options.RevokeRefreshTokenOnSignout = true;
            options.Scheme = HelseIdContext.Scheme;

            options.CookieEvents.OnRedirectToAccessDenied = ctx =>
            {
                // API requests should get a 403 status instead of being redirected to access denied page
                if (ctx.Request.Path.StartsWithSegments("/api"))
                {
                    ctx.Response.Headers["Location"] = ctx.RedirectUri;
                    ctx.Response.StatusCode          = StatusCodes.Status403Forbidden;
                }

                return(Task.CompletedTask);
            };
        }
Esempio n. 4
0
 private static void ApplyDefaultKeycloakTokenManagementConfiguration(
     AutomaticTokenManagementOptions options)
 {
     options.Scheme = KeycloakDefaults.AuthenticationScheme;
 }