<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.0" />

System.ServiceModel.Security.IssuanceTokenProviderBase<T>

public bool CacheServiceTokens { get; set; }

protected virtual bool IsMultiLegNegotiation { get; }

public EndpointAddress IssuerAddress { get; set; }

public TimeSpan MaxServiceTokenCachingTime { get; set; }

protected abstract MessageVersion MessageVersion { get; }

protected abstract bool RequiresManualReplyAddressing { get; }

protected string SecurityContextTokenUri { get; }

public int ServiceTokenValidityThresholdPercentage { get; set; }

public EndpointAddress TargetAddress { get; set; }

protected object ThisLock { get; }

public Uri Via { get; set; }

protected static void ThrowIfFault(Message message, EndpointAddress target)

protected abstract Task<T> CreateNegotiationStateAsync(EndpointAddress target, Uri via, TimeSpan timeout)

protected abstract BodyWriter GetFirstOutgoingMessageBody(T negotiationState, out MessageProperties properties)

protected abstract BodyWriter GetNextOutgoingMessageBody(Message incomingMessage, T negotiationState)

protected abstract Task InitializeChannelFactoriesAsync(EndpointAddress target, TimeSpan timeout)

protected void ThrowIfClosedOrCreated()

protected void ThrowIfCreated()

protected virtual void ValidateKeySize(GenericXmlSecurityToken issuedToken)