HubConnection has an AuthenticationProvider property and will use that authenticator through its lifetime. It's very advised to set it only once when the HubConnection is created:
The HeaderAuthenticator is located in the samples that comes with the package and can be installed to the project through, but as a reference or to add only the HeaderAuthenticator to the project here's its source too:
usingSystem;namespaceBest.SignalR.Authentication{publicsealedclassHeaderAuthenticator:IAuthenticationProvider{/// <summary>/// No pre-auth step required for this type of authentication/// </summary>publicboolIsPreAuthRequired{get{returnfalse;}}#pragma warning disable 0067/// <summary>/// Not used event as IsPreAuthRequired is false/// </summary>publiceventOnAuthenticationSuccededDelegateOnAuthenticationSucceded;/// <summary>/// Not used event as IsPreAuthRequired is false/// </summary>publiceventOnAuthenticationFailedDelegateOnAuthenticationFailed;#pragma warning restore 0067privatestring_credentials;publicHeaderAuthenticator(stringcredentials){this._credentials=credentials;}/// <summary>/// Not used as IsPreAuthRequired is false/// </summary>publicvoidStartAuthentication(){}/// <summary>/// Prepares the request by adding two headers to it/// </summary>publicvoidPrepareRequest(Best.HTTP.HTTPRequestrequest){#if !UNITY_WEBGL || UNITY_EDITORrequest.SetHeader("Authorization","Bearer "+this._credentials);#endif}publicUriPrepareUri(Uriuri){#if UNITY_WEBGL && !UNITY_EDITORstringquery=string.IsNullOrEmpty(uri.Query)?"?":uri.Query+"&";UriBuilderuriBuilder=newUriBuilder(uri.Scheme,uri.Host,uri.Port,uri.AbsolutePath,query+"access_token="+this._credentials);returnuriBuilder.Uri;#elsereturnuri;#endif}publicvoidCancel(){}}}