public MessageCookie( ILogger <MessageCookie <TModel> > logger, IdentityServerContext context, IDataProtectionProvider provider) { _logger = logger; _context = context; _protector = provider.CreateProtector(MessageType); }
public static void SetBasePath(this IdentityServerContext context, string value) { if (context == null) { throw new ArgumentNullException(nameof(context)); } context.HttpContext.Items[Constants.EnvironmentKeys.IdentityServerBasePath] = value; }
public async Task Invoke(HttpContext context, IdentityServerContext idsvrContext) { var request = context.Request; var host = request.Scheme + "://" + request.Host.Value; idsvrContext.SetHost(host); idsvrContext.SetBasePath(request.PathBase.Value.RemoveTrailingSlash()); await _next(context); }
internal static string GetIdentityServerSignoutFrameCallbackUrl(this IdentityServerContext context) { var sessionCookie = context.HttpContext.RequestServices.GetRequiredService <SessionCookie>(); var sid = sessionCookie.GetSessionId(); if (sid != null) { var signoutIframeUrl = context.GetIdentityServerBaseUrl().EnsureTrailingSlash() + Constants.ProtocolRoutePaths.EndSessionCallback; //TODO: update sid to OidcConstants when idmodel released signoutIframeUrl = signoutIframeUrl.AddQueryString("sid" + "=" + sid); return(signoutIframeUrl); } return(null); }
public static string GetIssuerUri(this IdentityServerContext context) { if (context == null) { throw new ArgumentNullException("context"); } // if they've explicitly configured a URI then use it, // otherwise dynamically calculate it var uri = context.Options.IssuerUri; if (uri.IsMissing()) { uri = context.GetIdentityServerBaseUrl(); if (uri.EndsWith("/")) { uri = uri.Substring(0, uri.Length - 1); } uri = uri.ToLowerInvariant(); } return(uri); }
public ClientListCookie(IdentityServerContext context) { _context = context; }
public SessionCookie(IdentityServerContext context) { _context = context; }
internal static async Task <ClaimsPrincipal> GetIdentityServerUserAsync(this IdentityServerContext context) { return(await context.HttpContext.Authentication.AuthenticateAsync(context.Options.AuthenticationOptions.EffectiveAuthenticationScheme)); }
/// <summary> /// Gets the public base URL for IdentityServer. /// </summary> /// <param name="env">The OWIN environment.</param> /// <returns></returns> public static string GetIdentityServerBaseUrl(this IdentityServerContext context) { return(context.GetHost() + context.GetBasePath()); }
/// <summary> /// Gets the base path of IdentityServer. Can be used inside of Katana <c>Map</c>ped middleware. /// </summary> /// <param name="env">The OWIN environment.</param> /// <returns></returns> public static string GetBasePath(this IdentityServerContext context) { return(context.HttpContext.Items[Constants.EnvironmentKeys.IdentityServerBasePath] as string); }