Skip to main content

Namespace ServiceStack.Auth

Classes

ApiKey

The POCO Table used to persist API Keys

ApiKeyAuthProvider

Enable access to protected Services using API Keys

AppleAuthProvider

Required to use Sign In with Apple:

AppleAuthProviderExtensions

AspNetWindowsAuthProvider

AssignRolesService

AuthContext

AuthenticateService

AuthEvents

Convenient base class with empty virtual methods so subclasses only need to override the hooks they need.

AuthEventsUtils

AuthFilterContext

AuthHttpGateway

AuthId

AuthMetadataProvider

AuthMetadataProviderExtensions

AuthProvider

AuthProviderExtensions

AuthProviderSync

Sync AuthProvider base class for compatibility with Sync Auth Providers

AuthRepositoryUtils

AuthResultContext

AuthTokens

AuthTokenUtils

BasicAuthProvider

BasicAuthProviderSync

ConvertSessionToTokenService

CredentialsAuthProvider

CredentialsAuthProviderSync

DigestAuthFunctions

DigestAuthProvider

DiscordAuthProvider

Create an OAuth2 App at: https://discord.com/developers/applications The Apps Callback URL should match the CallbackUrl here. Discord OAuth2 info: https://discord.com/developers/docs/topics/oauth2 Discord OAuth2 Scopes from: https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes email: Basic info, plus will return email info from /users/@me API, this is the minimum required for ServiceStack integration.

Checking of email verification is enforced due to Discord not requiring verified emails.

Use oauth.discord.ClientId and oauth.discord.ClientSecret for Discord App settings.

EmailAddresses

The Yammer User's email addresses.

FacebookAuthProvider

Create a Facebook App at: https://developers.facebook.com/apps The Callback URL for your app should match the CallbackUrl provided.

FullRegistrationValidator

GetAccessTokenService

GetApiKeysService

GithubAuthProvider

Create an App at: https://github.com/settings/applications/new The Callback URL for your app should match the CallbackUrl provided.

GoogleAuthProvider

Create an OAuth2 App at: https://code.google.com/apis/console/ The Apps Callback URL should match the CallbackUrl here. Google OAuth2 info: https://developers.google.com/accounts/docs/OAuth2Login Google OAuth2 Scopes from: https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest?fields=auth(oauth2(scopes)) https://www.googleapis.com/auth/plus.login: Know your name, basic info, and list of people you're connected to on Google+ https://www.googleapis.com/auth/plus.me Know who you are on Google+ https://www.googleapis.com/auth/userinfo.email View your email address https://www.googleapis.com/auth/userinfo.profile View basic information about your account

HashExtensions

HttpContextExtensions

IdentityApplicationAuthProvider

Handles converting from Application Cookie ClaimsPrincipal into a ServiceStack Session

IdentityAssignRolesService<TUser>

IdentityAuth

[ IdentityAuthContext<TUser, TRole>](../ServiceStack.Auth/IdentityAuthContextTUser, TRole)

IdentityAuthSession

IdentityCredentialsAuthProvider<TUser>

Implements /auth/credentials authenticating against ASP.NET Identity IdentityUser

IdentityException

[ IdentityJwtAuthProvider<TUser, TRole>](../ServiceStack.Auth/IdentityJwtAuthProviderTUser, TRole)

Converts an MVC JwtBearer Cookie into a ServiceStack Session

[ IdentityRegisterService<TUser, TRole>](../ServiceStack.Auth/IdentityRegisterServiceTUser, TRole)

IdentityRegisterServiceBase<TUser>

Register Base class for IAuthRepository / IUserAuth users

IdentityRegistrationValidator<TUser>

IdentityUnAssignRolesService<TUser>

IdentityUtils

InMemoryAuthRepository

[ InMemoryAuthRepository<TUserAuth, TUserAuthDetails>](../ServiceStack.Auth/InMemoryAuthRepositoryTUserAuth, TUserAuthDetails)

Thread-safe In memory UserAuth data store so it can be used without a dependency on Redis.

JwtAuthProvider

Used to Issue and process JWT Tokens and registers ConvertSessionToToken Service to convert Sessions to JWT Tokens

JwtAuthProviderReader

Enable access to protected Services using JWT Tokens

JwtClaimTypes

https://www.iana.org/assignments/jwt/jwt.xhtml#claims

JwtUtils

KeyDerivation

Provides algorithms for performing key derivation.

LinkedInAuthProvider

Create new App at: https://www.linkedin.com/secure/developer

MicrosoftGraphAuthProvider

Create an Microsoft Graph App at: https://apps.dev.microsoft.com The Apps Callback URL should match the CallbackUrl here.

Microsoft Graph Info: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-overview Microsoft Graph Scopes: https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference

MultiAuthEvents

NetCoreIdentityAuthProvider

OAuth2Provider

OAuth2ProviderSync

OAuthAuthorizer

OAuthProvider

OAuthProviderSync

OAuthUtils

OdnoklassnikiAuthProvider

Create Odnoklassniki App at: http://www.odnoklassniki.ru/devaccess The Callback URL for your app should match the CallbackUrl provided.

NB: They claim they use OAuth 2.0, but they in fact don't. http://apiok.ru/wiki/display/api/Authorization+OAuth+2.0

OrmLiteAuthRepository

[ OrmLiteAuthRepository<TUserAuth, TUserAuthDetails>](../ServiceStack.Auth/OrmLiteAuthRepositoryTUserAuth, TUserAuthDetails)

[ OrmLiteAuthRepositoryBase<TUserAuth, TUserAuthDetails>](../ServiceStack.Auth/OrmLiteAuthRepositoryBaseTUserAuth, TUserAuthDetails)

OrmLiteAuthRepositoryMultitenancy

[ OrmLiteAuthRepositoryMultitenancy<TUserAuth, TUserAuthDetails>](../ServiceStack.Auth/OrmLiteAuthRepositoryMultitenancyTUserAuth, TUserAuthDetails)

PasswordHasher

The Password Hasher provider used to hash users passwords which uses the same algorithm used by ASP.NET Identity v3: PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, 10000 iterations.

Pbkdf2Provider

Allow utilizing an alternative PBKDF2 implementation.

RedisAuthRepository

[ RedisAuthRepository<TUserAuth, TUserAuthDetails>](../ServiceStack.Auth/RedisAuthRepositoryTUserAuth, TUserAuthDetails)

RedisClientManagerFacade

RegenerateApiKeysService

RegisterFilterContext

RegisterService

RegisterServiceBase

Register base class containing common functionality for generic

RegisterUserAuthServiceBase

Register Base class for IAuthRepository / IUserAuth users

RegistrationValidator

SaltedHash

Thank you Martijn http://www.dijksterhuis.org/creating-salted-hash-values-in-c/

Stronger/Slower Alternative: https://github.com/defuse/password-hashing/blob/master/PasswordStorage.cs

SocialExtensions

TwitterAuthProvider

Create an app at https://dev.twitter.com/apps to get your ConsumerKey and ConsumerSecret for your app. The Callback URL for your app should match the CallbackUrl provided.

UnAssignRolesService

UserAuth

UserAuthBase

UserAuthDetails

UserAuthDetailsBase

UserAuthExtensions

UserAuthRepositoryAsyncManageRolesWrapper

UserAuthRepositoryAsyncWrapper

UserAuthRepositoryAsyncWrapperExtensions

UserAuthRepositoryExtensions

UserAuthRole

VkAuthProvider

Create VK App at: http://vk.com/editapp?act=create The Callback URL for your app should match the CallbackUrl provided.

YammerAuthProvider

The ServiceStack Yammer OAuth provider.

<p> This provider is loosely based on the existing ServiceStack's Facebook OAuth provider. </p> <p> For the full info on Yammer's OAuth2 authentication flow, refer to: https://developer.yammer.com/authentication/#a-oauth2 </p> <p> Note: Add these to your application / web config settings under appSettings and replace values as appropriate.

&lt;!-- ServiceStack Yammer OAuth config --&gt;
&lt;add key=&quot;oauth.yammer.ClientId&quot; value=&quot;&quot;/&gt;
&lt;add key=&quot;oauth.yammer.ClientSecret&quot; value=&quot;&quot;/&gt;
&lt;add key=&quot;oauth.yammer.AccessTokenUrl&quot; value=&quot;https://www.yammer.com/oauth2/access_token.json&quot;/&gt;
&lt;add key=&quot;oauth.yammer.CallbackUrl&quot; value=&quot;~/&quot;/&gt;
&lt;add key=&quot;oauth.yammer.PreAuthUrl&quot; value=&quot;https://www.yammer.com/dialog/oauth&quot;/&gt;
&lt;add key=&quot;oauth.yammer.Realm&quot; value=&quot;https://www.yammer.com&quot;/&gt;
&lt;add key=&quot;oauth.yammer.RedirectUrl&quot; value=&quot;~/auth/yammer&quot;/&gt;

</p>

YandexAuthProvider

Create Yandex App at: https://oauth.yandex.ru/client/new The Callback URL for your app should match the CallbackUrl provided.

Interfaces

IAuthEvents

IAuthEventsAsync

IAuthHttpGateway

IAuthMetadataProvider

IAuthProvider

IAuthRepository

IAuthRepositoryAsync

IAuthResponseFilter

IAuthSession

IAuthSessionExtended

IAuthTokens

IAuthWithRequest

IAuthWithRequestSync

IClearable

IClearableAsync

ICustomUserAuth

IHashProvider

IIdentityAuthContext

IIdentityCredentialsAuthProvider

IIdentityJwtAuthProvider

IManageApiKeys

The Interface Auth Repositories need to implement to support API Keys

IManageApiKeysAsync

IManageRoles

IManageRolesAsync

IManageSourceRolesAsync

IMemoryAuthRepository

IOAuthProvider

IPasswordHasher

The Password Hasher provider used to hash users passwords, by default uses the same algorithm used by ASP.NET Identity v3: PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, 10000 iterations.

IQueryUserAuth

IQueryUserAuthAsync

IRedisClientFacade

IRedisClientFacadeAsync

IRedisClientManagerFacade

IRequireClaimsPrincipal

ITypedRedisClientFacade<T>

ITypedRedisClientFacadeAsync<T>

IUserAuth

IUserAuthDetails

IUserAuthDetailsExtended

IUserAuthRepository

IUserAuthRepositoryAsync

IUserSessionSource

IUserSessionSourceAsync

IWebSudoAuthSession

Enums

AppleAuthFeature

KeyDerivationPrf

Specifies the PRF which should be used for the key derivation algorithm.