using System.Collections.Generic;
namespace ServiceStack.ServiceInterface.Auth
{
public interface IAuthProvider
{
string AuthRealm { get; set; }
string Provider { get; set; }
string CallbackUrl { get; set; }
///
/// Remove the Users Session
///
///
///
///
object Logout(IServiceBase service, Auth request);
///
/// The entry point for all AuthProvider providers. Runs inside the AuthService so exceptions are treated normally.
/// Overridable so you can provide your own Auth implementation.
///
object Authenticate(IServiceBase authService, IAuthSession session, Auth request);
///
/// Determine if the current session is already authenticated with this AuthProvider
///
bool IsAuthorized(IAuthSession session, IOAuthTokens tokens, Auth request = null);
}
public interface IOAuthProvider : IAuthProvider
{
IAuthHttpGateway AuthHttpGateway { get; set; }
string ConsumerKey { get; set; }
string ConsumerSecret { get; set; }
string RequestTokenUrl { get; set; }
string AuthorizeUrl { get; set; }
string AccessTokenUrl { get; set; }
}
}