<PackageReference Include="Relativity.Server.Transfer.SDK" Version="24000.0.1" />

BearerTokenCredential

using Relativity.Services.ServiceProxy; using System.Diagnostics; using System.Globalization; using System.Net; namespace Relativity.Transfer { public class BearerTokenCredential : IHttpCredential { private readonly IAuthenticationTokenProvider authTokenProvider; public const string OAuth2UserName = "XxX_BearerTokenCredentials_XxX"; [DebuggerBrowsable(DebuggerBrowsableState.Never)] public string Token { get; set; } public BearerTokenCredential(string token) : this(token, new NullAuthTokenProvider()) { } public BearerTokenCredential(string token, IAuthenticationTokenProvider authTokenProvider) { this.authTokenProvider = authTokenProvider; Token = token; } public string GetAuthenticationHeader() { return string.Format(CultureInfo.InvariantCulture, "Bearer {0}", Token); } public ICredentials CreateCredentials() { return new NetworkCredential("XxX_BearerTokenCredentials_XxX", Token); } public Credentials CreateRelativityCredentials() { return new BearerTokenCredentials(Token); } public IHttpCredential DeepCopy() { return new BearerTokenCredential(Token, authTokenProvider); } public void RefreshCredentials() { string text = authTokenProvider.GenerateToken(); if (!string.IsNullOrEmpty(text)) Token = text; } } }