You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.5 KiB
37 lines
1.5 KiB
8 months ago
|
#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
|