37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
#if !BESTHTTP_DISABLE_SIGNALR
|
|
|
|
namespace BestHTTP.SignalR.Authentication
|
|
{
|
|
public delegate void OnAuthenticationSuccededDelegate(IAuthenticationProvider provider);
|
|
public delegate void OnAuthenticationFailedDelegate(IAuthenticationProvider provider, string reason);
|
|
|
|
public interface IAuthenticationProvider
|
|
{
|
|
/// <summary>
|
|
/// The authentication must be run before any request made to build up the SignalR protocol
|
|
/// </summary>
|
|
bool IsPreAuthRequired { get; }
|
|
|
|
/// <summary>
|
|
/// This event must be called when the pre-authentication succeded. When IsPreAuthRequired is false, no-one will subscribe to this event.
|
|
/// </summary>
|
|
event OnAuthenticationSuccededDelegate OnAuthenticationSucceded;
|
|
|
|
/// <summary>
|
|
/// This event must be called when the pre-authentication failed. When IsPreAuthRequired is false, no-one will subscribe to this event.
|
|
/// </summary>
|
|
event OnAuthenticationFailedDelegate OnAuthenticationFailed;
|
|
|
|
/// <summary>
|
|
/// This function called once, when the before the SignalR negotiation begins. If IsPreAuthRequired is false, then this step will be skipped.
|
|
/// </summary>
|
|
void StartAuthentication();
|
|
|
|
/// <summary>
|
|
/// This function will be called for every request before sending it.
|
|
/// </summary>
|
|
void PrepareRequest(HTTPRequest request, RequestTypes type);
|
|
}
|
|
}
|
|
|
|
#endif |