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:
- Membership Team ID from https://developer.apple.com/account/#/membership/
- Create & configure App ID from https://developer.apple.com/account/resources/identifiers/list
- Use App Id to create & configure Service ID from https://developer.apple.com/account/resources/identifiers/list/serviceId
- Use App Id to create & configure Private Key from https://developer.apple.com/account/resources/authkeys/list Service ID must be configured with non-localhost trusted domain and HTTPS callback URL, for development can use:
- Domain: local.servicestack.com
- Callback URL: https://local.servicestack.com:5001/auth/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.
<!-- ServiceStack Yammer OAuth config -->
<add key="oauth.yammer.ClientId" value=""/>
<add key="oauth.yammer.ClientSecret" value=""/>
<add key="oauth.yammer.AccessTokenUrl" value="https://www.yammer.com/oauth2/access_token.json"/>
<add key="oauth.yammer.CallbackUrl" value="~/"/>
<add key="oauth.yammer.PreAuthUrl" value="https://www.yammer.com/dialog/oauth"/>
<add key="oauth.yammer.Realm" value="https://www.yammer.com"/>
<add key="oauth.yammer.RedirectUrl" value="~/auth/yammer"/>
</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.