public EndSessionResult(EndSessionValidationResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            _result = result;
        }
 internal EndSessionResult(
     EndSessionValidationResult result,
     IdentityServerOptions options,
     IMessageStore <LogoutMessage> logoutMessageStore)
     : this(result)
 {
     _options            = options;
     _logoutMessageStore = logoutMessageStore;
 }
Exemple #3
0
 internal EndSessionResult(
     EndSessionValidationResult result,
     IdentityServerOptions options,
     ISystemClock clock,
     IServerUrls urls,
     IMessageStore <LogoutMessage> logoutMessageStore)
     : this(result)
 {
     _options            = options;
     _clock              = clock;
     _urls               = urls;
     _logoutMessageStore = logoutMessageStore;
 }
        private async Task <IEndpointResult> CreateLogoutPageRedirectAsync(EndSessionValidationResult result)
        {
            var validatedRequest = result.IsError ? null : result.ValidatedRequest;

            if (validatedRequest != null &&
                (validatedRequest.Client != null || validatedRequest.PostLogOutUri != null))
            {
                var msg = new MessageWithId <LogoutMessage>(new LogoutMessage(validatedRequest));
                await _logoutMessageStore.WriteAsync(msg.Id, msg);

                return(new LogoutPageResult(_context.Options.UserInteractionOptions, msg.Id));
            }

            return(new LogoutPageResult(_context.Options.UserInteractionOptions));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="EndSessionResult"/> class.
 /// </summary>
 /// <param name="result">The result.</param>
 /// <exception cref="System.ArgumentNullException">result</exception>
 public EndSessionResult(EndSessionValidationResult result)
 {
     _result = result ?? throw new ArgumentNullException(nameof(result));
 }