├── .gitattributes
├── .gitignore
├── CHANGELOG.MD
├── LICENSE
├── README.MD
├── Stormpath.SDK.nuspec
├── Stormpath.SDK.sln
├── appveyor.yml
├── build.cake
├── build.ps1
├── doc
├── Introduction.aml
├── StormpathConfigurationAbstractionsDocs.shfbproj
├── StormpathSDKApiDocs.shfbproj
├── doc.content
├── examples
│ ├── DocExamples
│ │ ├── Blog
│ │ │ ├── IntroducingCsharpSdk.cs
│ │ │ ├── MultiTenantApplications.cs
│ │ │ ├── OauthWithJsonWebTokens.cs
│ │ │ ├── SamlSso.cs
│ │ │ ├── SocialLoginAuthorization.cs
│ │ │ └── SsoAndFasterPerf.cs
│ │ ├── ClientBuilderExamples.cs
│ │ ├── ConsoleQuickstartExamples.cs
│ │ ├── ConsoleQuickstarts
│ │ │ └── CsharpConsoleQuickstart.cs
│ │ ├── CreationOptionsBuilderExamples.cs
│ │ ├── IAccountExamples.cs
│ │ ├── IAccountStoreContainerExamples.cs
│ │ ├── ProductGuide
│ │ │ ├── Account_Management.cs
│ │ │ ├── Authentication.cs
│ │ │ ├── Authorization.cs
│ │ │ ├── Configuration.cs
│ │ │ ├── IdSite.cs
│ │ │ └── Multitenancy.cs
│ │ ├── QuickstartExamples.cs
│ │ ├── Stormpath.SDK.DocExamples.xproj
│ │ └── project.json
│ └── DocExamplesVB
│ │ ├── Blog
│ │ └── AuthenticationAndAuthorization.vb
│ │ ├── ConsoleQuickstarts
│ │ └── VbConsoleQuickstart.vb
│ │ ├── DocExamplesVB.vbproj
│ │ ├── My Project
│ │ ├── Application.Designer.vb
│ │ ├── Application.myapp
│ │ ├── AssemblyInfo.vb
│ │ ├── Resources.Designer.vb
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.vb
│ │ └── Settings.settings
│ │ ├── ProductGuide
│ │ ├── Account_Management.vb
│ │ ├── Authentication.vb
│ │ ├── Authorization.vb
│ │ ├── Configuration.vb
│ │ ├── IdSite.vb
│ │ └── Multitenancy.vb
│ │ └── packages.config
└── proxy
│ ├── Stormpath.SDK.Abstractions
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Stormpath.SDK.Abstractions.csproj
│ ├── Stormpath.SDK.Abstractions.csproj.bak
│ └── packages.config
│ ├── Stormpath.SDK.sln
│ └── Stormpath.SDK
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── Stormpath.SDK.csproj
│ ├── Stormpath.SDK.csproj.bak
│ └── packages.config
├── global.json
├── icon.png
├── nuget.config
├── pack.cmd
├── script
├── BuildAndDeployDocs.ps1
├── BuildDocs.ps1
├── add-gtm.ps1
├── doc-proxy-functions.ps1
├── prep-documentation.ps1
└── validate-version.ps1
├── src
├── Stormpath.SDK.Abstractions
│ ├── .gitignore
│ ├── Account
│ │ ├── AccountStatus.cs
│ │ ├── ChallengeCreationOptions.cs
│ │ ├── ChallengeStatus.cs
│ │ ├── EmailVerificationStatus.cs
│ │ ├── FactorStatus.cs
│ │ ├── FactorType.cs
│ │ ├── FactorVerificationStatus.cs
│ │ ├── GoogleAuthenticatorFactorCreationOptions.cs
│ │ ├── IAccount.cs
│ │ ├── IAccountCreationActions.cs
│ │ ├── IAccountCreationOptions.cs
│ │ ├── IChallenge.cs
│ │ ├── IChallengeCollection.cs
│ │ ├── IEmailVerificationRequest.cs
│ │ ├── IEmailVerificationToken.cs
│ │ ├── IFactor.cs
│ │ ├── IFactorCollection.cs
│ │ ├── IGoogleAuthenticatorFactor.cs
│ │ ├── IPasswordResetToken.cs
│ │ ├── IPhone.cs
│ │ ├── IPhoneCollection.cs
│ │ ├── ISmsFactor.cs
│ │ ├── PasswordFormat.cs
│ │ ├── PhoneCreationOptions.cs
│ │ ├── PhoneStatus.cs
│ │ ├── PhoneVerificationStatus.cs
│ │ └── SmsFactorCreationOptions.cs
│ ├── AccountStore
│ │ ├── IAccountStore.cs
│ │ ├── IAccountStoreContainer.cs
│ │ └── IAccountStoreMapping.cs
│ ├── Api
│ │ ├── ApiKeyStatus.cs
│ │ ├── IApiKey.cs
│ │ ├── IClientApiKey.cs
│ │ └── IClientApiKeyBuilder.cs
│ ├── Application
│ │ ├── ApplicationStatus.cs
│ │ ├── ClientApiStatus.cs
│ │ ├── IApplication.cs
│ │ ├── IApplicationAccountStoreMapping.cs
│ │ ├── IApplicationCreationOptions.cs
│ │ ├── IApplicationWebChangePasswordConfiguration.cs
│ │ ├── IApplicationWebConfiguration.cs
│ │ ├── IApplicationWebForgotPasswordConfiguration.cs
│ │ ├── IApplicationWebLoginConfiguration.cs
│ │ ├── IApplicationWebMeConfiguration.cs
│ │ ├── IApplicationWebMeExpandConfiguration.cs
│ │ ├── IApplicationWebOauth2Configuration.cs
│ │ ├── IApplicationWebRegisterConfiguration.cs
│ │ └── IApplicationWebVerifyEmailConfiguration.cs
│ ├── Auth
│ │ ├── IAuthenticationRequest.cs
│ │ └── IAuthenticationResult.cs
│ ├── Cache
│ │ ├── AbstractCacheProvider.cs
│ │ ├── AbstractCacheProviderBuilder{T}.cs
│ │ ├── IAsynchronousCache.cs
│ │ ├── IAsynchronousCacheProvider.cs
│ │ ├── ICache.cs
│ │ ├── ICacheConfiguration.cs
│ │ ├── ICacheConfigurationBuilder.cs
│ │ ├── ICacheProvider.cs
│ │ ├── ICacheProviderBuilder.cs
│ │ ├── ICacheProviderFactory.cs
│ │ ├── ISynchronousCache.cs
│ │ └── ISynchronousCacheProvider.cs
│ ├── Client
│ │ ├── AuthenticationScheme.cs
│ │ ├── IClient.cs
│ │ ├── IClientBuilder.cs
│ │ ├── IScopedClientFactory.cs
│ │ └── ScopedClientOptions.cs
│ ├── CustomData
│ │ ├── ICustomData.cs
│ │ └── ICustomDataProxy.cs
│ ├── DataStore
│ │ └── IDataStore.cs
│ ├── Directory
│ │ ├── DirectoryStatus.cs
│ │ ├── IAccountCreationPolicy.cs
│ │ ├── IDirectory.cs
│ │ ├── IDirectoryCreationOptions.cs
│ │ ├── IPasswordPolicy.cs
│ │ └── IPasswordStrengthPolicy.cs
│ ├── Error
│ │ ├── IError.cs
│ │ └── ResourceException.cs
│ ├── Group
│ │ ├── GroupStatus.cs
│ │ ├── IGroup.cs
│ │ ├── IGroupCreationActions.cs
│ │ ├── IGroupCreationOptions.cs
│ │ └── IGroupMembership.cs
│ ├── Http
│ │ ├── AbstractHttpClientBuilder.cs
│ │ ├── AbstractHttpResponse.cs
│ │ ├── AuthorizationHeaderValue.cs
│ │ ├── CanonicalUri.cs
│ │ ├── HttpHeaders.cs
│ │ ├── HttpMethod.cs
│ │ ├── IAsynchronousHttpClient.cs
│ │ ├── IHttpClient.cs
│ │ ├── IHttpClientBuilder.cs
│ │ ├── IHttpClientFactory.cs
│ │ ├── IHttpMessage.cs
│ │ ├── IHttpRequest.cs
│ │ ├── IHttpRequestBuilder.cs
│ │ ├── IHttpResponse.cs
│ │ ├── ISynchronousHttpClient.cs
│ │ ├── QueryString.cs
│ │ ├── RequestException.cs
│ │ ├── UriQualifier.cs
│ │ └── UrlEncoding.cs
│ ├── IdSite
│ │ ├── IAccountResult.cs
│ │ ├── IAsynchronousNonceStore.cs
│ │ ├── IIdSiteAsyncCallbackHandler.cs
│ │ ├── IIdSiteAsyncResultListener.cs
│ │ ├── IIdSiteSyncCallbackHandler.cs
│ │ ├── IIdSiteSyncResultListener.cs
│ │ ├── IIdSiteUrlBuilder.cs
│ │ ├── INonce.cs
│ │ ├── INonceStore.cs
│ │ ├── ISynchronousNonceStore.cs
│ │ ├── IdSiteResultStatus.cs
│ │ ├── IdSiteRuntimeException.cs
│ │ ├── IdSiteSessionTimeoutException.cs
│ │ └── InvalidIdSiteTokenException.cs
│ ├── Jwt
│ │ ├── ExpiredJwtException.cs
│ │ ├── IClaimsMutator.cs
│ │ ├── IJwt.cs
│ │ ├── IJwtBuilder.cs
│ │ ├── IJwtClaims.cs
│ │ ├── IJwtClaimsBuilder.cs
│ │ ├── IJwtParser.cs
│ │ ├── InvalidJwtException.cs
│ │ ├── JwtSignatureException.cs
│ │ ├── MalformedJwtException.cs
│ │ ├── MismatchedClaimException.cs
│ │ ├── MissingClaimException.cs
│ │ └── PrematureJwtException.cs
│ ├── Linq
│ │ ├── AsyncQueryableExpandExtensions.cs
│ │ ├── AsyncQueryableExtensions.cs
│ │ ├── AsyncQueryableFilterExtensions.cs
│ │ ├── ExpandCommon.cs
│ │ ├── Expandables
│ │ │ ├── IAccountExpandables.cs
│ │ │ ├── IAccountStoreMappingExpandables.cs
│ │ │ ├── IApiKeyExpandables.cs
│ │ │ ├── IApplicationExpandables.cs
│ │ │ ├── IAuthenticationResultExpandables.cs
│ │ │ ├── IChallengeExpandables.cs
│ │ │ ├── IDirectoryExpandables.cs
│ │ │ ├── IExpandableAccounts.cs
│ │ │ ├── IExpandableApplications.cs
│ │ │ ├── IExpandableCustomData.cs
│ │ │ ├── IExpandableDefaultStores.cs
│ │ │ ├── IExpandableDirectory.cs
│ │ │ ├── IExpandableGroupMemberships.cs
│ │ │ ├── IExpandableGroups.cs
│ │ │ ├── IExpandableTenant.cs
│ │ │ ├── IFactorExpandables.cs
│ │ │ ├── IGroupExpandables.cs
│ │ │ ├── IGroupMembershipExpandables.cs
│ │ │ ├── IOrganizationAccountStoreMappingExpandables.cs
│ │ │ ├── IOrganizationExpandables.cs
│ │ │ ├── IPhoneExpandables.cs
│ │ │ ├── ISmsFactorExpandables.cs
│ │ │ └── ITenantExpandables.cs
│ │ ├── IAsyncQueryProvider{T}.cs
│ │ ├── IAsyncQueryable{T}.cs
│ │ ├── IOrderedAsyncQueryable{T}.cs
│ │ ├── LinqHelper.cs
│ │ ├── PrecisionExpressionExtensions.cs
│ │ ├── SpecifiedPrecisionToken.cs
│ │ ├── SyncExpandExtensions.cs
│ │ ├── SyncFilterExtensions.cs
│ │ └── WithinExpressionExtensions.cs
│ ├── Logging
│ │ ├── ILogger.cs
│ │ ├── ILoggerConsumer{T}.cs
│ │ ├── InMemoryLogger.cs
│ │ ├── LogEntry.cs
│ │ ├── LogLevel.cs
│ │ └── LoggerExtensions.cs
│ ├── Mail
│ │ └── EmailStatus.cs
│ ├── Oauth
│ │ ├── AbstractOauthGrantRequest.cs
│ │ ├── ClientCredentialsGrantRequest.cs
│ │ ├── FactorChallengeRequest.cs
│ │ ├── IAccessToken.cs
│ │ ├── IIdSiteTokenAuthenticationRequest.cs
│ │ ├── IIdSiteTokenAuthenticationRequestBuilder.cs
│ │ ├── IIdSiteTokenAuthenticator.cs
│ │ ├── IJwtAuthenticationRequest.cs
│ │ ├── IJwtAuthenticationRequestBuilder.cs
│ │ ├── IJwtAuthenticator.cs
│ │ ├── IOauthAuthenticationRequestBuilder{TRequest}.cs
│ │ ├── IOauthAuthenticator{TRequest,TResult}.cs
│ │ ├── IOauthGrantAuthenticationResult.cs
│ │ ├── IOauthGrantRequest.cs
│ │ ├── IOauthPolicy.cs
│ │ ├── IPasswordGrantAuthenticator.cs
│ │ ├── IPasswordGrantRequest.cs
│ │ ├── IPasswordGrantRequestBuilder.cs
│ │ ├── IRefreshGrantAuthenticator.cs
│ │ ├── IRefreshGrantRequest.cs
│ │ ├── IRefreshGrantRequestBuilder.cs
│ │ ├── IRefreshToken.cs
│ │ ├── JwtLocalValidationOptions.cs
│ │ ├── PasswordGrantRequest.cs
│ │ ├── RefreshGrantRequest.cs
│ │ ├── SocialGrantRequest.cs
│ │ └── StormpathTokenGrantRequest.cs
│ ├── Organization
│ │ ├── IOrganization.cs
│ │ ├── IOrganizationAccountStoreMapping.cs
│ │ ├── IOrganizationCreationOptions.cs
│ │ └── OrganizationStatus.cs
│ ├── Provider
│ │ ├── IAdLdapProvider.cs
│ │ ├── ICreateProviderRequest.cs
│ │ ├── ICreateProviderRequestBuilder{T}.cs
│ │ ├── IFacebookAccountRequestBuilder.cs
│ │ ├── IFacebookCreateProviderRequestBuilder.cs
│ │ ├── IFacebookProvider.cs
│ │ ├── IFacebookProviderData.cs
│ │ ├── IFacebookRequestFactory.cs
│ │ ├── IGithubAccountRequestBuilder.cs
│ │ ├── IGithubCreateProviderRequestBuilder.cs
│ │ ├── IGithubProvider.cs
│ │ ├── IGithubProviderData.cs
│ │ ├── IGithubRequestFactory.cs
│ │ ├── IGoogleAccountRequestBuilder.cs
│ │ ├── IGoogleCreateProviderRequestBuilder.cs
│ │ ├── IGoogleProvider.cs
│ │ ├── IGoogleProviderData.cs
│ │ ├── IGoogleRequestFactory.cs
│ │ ├── ILinkedInAccountRequestBuilder.cs
│ │ ├── ILinkedInCreateProviderRequestBuilder.cs
│ │ ├── ILinkedInProvider.cs
│ │ ├── ILinkedInProviderData.cs
│ │ ├── ILinkedInRequestFactory.cs
│ │ ├── IOauth2Provider.cs
│ │ ├── IProvider.cs
│ │ ├── IProviderAccountRequest.cs
│ │ ├── IProviderAccountRequestBuilder{T}.cs
│ │ ├── IProviderAccountResult.cs
│ │ ├── IProviderData.cs
│ │ ├── IProviderFactory.cs
│ │ ├── IProviderRequestFactory{A,P}.cs
│ │ ├── ISamlProvider.cs
│ │ └── ITwitterProvider.cs
│ ├── Resource
│ │ ├── AbstractEnumProperty.cs
│ │ ├── IAuditable.cs
│ │ ├── ICreationOptions.cs
│ │ ├── IDeletable.cs
│ │ ├── IExtendable.cs
│ │ ├── IResource.cs
│ │ ├── IRetrievalOptions{T}.cs
│ │ ├── ISaveableWithOptions{T}.cs
│ │ └── ISaveable{T}.cs
│ ├── Saml
│ │ ├── ISamlAccountResult.cs
│ │ ├── ISamlAsyncCallbackHandler.cs
│ │ ├── ISamlAsyncResultListener.cs
│ │ ├── ISamlIdpUrlBuilder.cs
│ │ ├── ISamlPolicy.cs
│ │ ├── ISamlServiceProvider.cs
│ │ ├── ISamlSyncCallbackHandler.cs
│ │ ├── ISamlSyncResultListener.cs
│ │ ├── ISsoInitiationEndpoint.cs
│ │ ├── SamlException.cs
│ │ └── SamlResultStatus.cs
│ ├── Serialization
│ │ ├── AbstractSerializerBuilder.cs
│ │ ├── IJsonSerializer.cs
│ │ ├── ISerializerBuilder.cs
│ │ ├── ISerializerConsumer{T}.cs
│ │ └── ISerializerFactory.cs
│ ├── SerializedPropertyAttribute.cs
│ ├── Shared
│ │ ├── Extensions
│ │ │ ├── DictionaryExtensions.cs
│ │ │ ├── EnumerableExtensions.cs
│ │ │ ├── ReflectionExtensions.cs
│ │ │ └── StringExtensions.cs
│ │ ├── HashCode.cs
│ │ ├── ImmutableValueObject{T}.cs
│ │ └── StringEnumeration.cs
│ ├── Stormpath.SDK.Abstractions.xproj
│ ├── Tenant
│ │ ├── IHasTenant.cs
│ │ ├── ITenant.cs
│ │ └── ITenantActions.cs
│ └── project.json
├── Stormpath.SDK.Cache.Redis
│ ├── CacheEntry.cs
│ ├── Constants.cs
│ ├── IRedisCacheProviderBuilder.cs
│ ├── RedisCache.cs
│ ├── RedisCacheProvider.cs
│ ├── RedisCacheProviderBuilder.cs
│ ├── RedisCacheProviderFactoryExtensions.cs
│ ├── RedisCaches.cs
│ ├── Stormpath.SDK.Cache.Redis.xproj
│ └── project.json
├── Stormpath.SDK.Core
│ ├── Account
│ │ ├── AccountCreationOptionsBuilder.cs
│ │ └── EmailVerificationRequestBuilder.cs
│ ├── AccountCreationActionsCompatibilityExtensions.cs
│ ├── Api
│ │ └── ClientApiKeys.cs
│ ├── Application
│ │ └── ApplicationCreationOptionsBuilder.cs
│ ├── ApplicationCompatibilityExtensions.cs
│ ├── Auth
│ │ ├── ApiAuthenticationException.cs
│ │ ├── ApiKeyRequestBuilder.cs
│ │ ├── DisabledAccountException.cs
│ │ ├── DisabledApiKeyException.cs
│ │ ├── IncorrectCredentialsException.cs
│ │ └── UsernamePasswordRequestBuilder.cs
│ ├── Cache
│ │ ├── CacheProviders.cs
│ │ └── Caches.cs
│ ├── Client
│ │ ├── Clients.cs
│ │ ├── DnxCallerFileLanguageDetector.cs
│ │ └── ScopedClientFactory.cs
│ ├── Directory
│ │ └── DirectoryCreationOptionsBuilder.cs
│ ├── Group
│ │ └── GroupCreationOptionsBuilder.cs
│ ├── GroupCreationActionsCompatibilityExtensions.cs
│ ├── Http
│ │ ├── HttpClientFactoryAutodetectExtensions.cs
│ │ ├── HttpClients.cs
│ │ └── HttpRequests.cs
│ ├── Impl
│ │ ├── Account
│ │ │ ├── AccountCreationActionsShared.cs
│ │ │ ├── ChallengeSubmitData.cs
│ │ │ ├── DefaultAccount.ApiKeys.cs
│ │ │ ├── DefaultAccount.Collections.cs
│ │ │ ├── DefaultAccount.IGroup.cs
│ │ │ ├── DefaultAccount.IGroupSync.cs
│ │ │ ├── DefaultAccount.Resources.cs
│ │ │ ├── DefaultAccount.ResourcesSync.cs
│ │ │ ├── DefaultAccount.cs
│ │ │ ├── DefaultAccountCreationOptions.cs
│ │ │ ├── DefaultChallenge.Sync.cs
│ │ │ ├── DefaultChallenge.cs
│ │ │ ├── DefaultChallengeCollection.cs
│ │ │ ├── DefaultEmailVerificationRequest.cs
│ │ │ ├── DefaultEmailVerificationToken.cs
│ │ │ ├── DefaultFactor.Sync.cs
│ │ │ ├── DefaultFactor.cs
│ │ │ ├── DefaultFactorCollection.cs
│ │ │ ├── DefaultGoogleAuthenticatorFactor.cs
│ │ │ ├── DefaultPasswordResetToken.cs
│ │ │ ├── DefaultPhone.cs
│ │ │ ├── DefaultPhoneCollection.cs
│ │ │ ├── DefaultSmsFactor.cs
│ │ │ ├── GoogleAuthenticatorFactorCreationData.cs
│ │ │ ├── IAccountCreationActionsInternal.cs
│ │ │ ├── IAccountCreationActionsSync.cs
│ │ │ ├── IAccountSync.cs
│ │ │ ├── IChallengeCollectionSync.cs
│ │ │ ├── IChallengeSync.cs
│ │ │ ├── IEmailVerificationRequestSync.cs
│ │ │ ├── IFactorCollectionSync.cs
│ │ │ ├── IFactorSync.cs
│ │ │ ├── IPasswordResetTokenSync.cs
│ │ │ ├── IPhoneCollectionSync.cs
│ │ │ ├── IPhoneSync.cs
│ │ │ ├── ISmsFactorSync.cs
│ │ │ └── SmsFactorCreationData.cs
│ │ ├── AccountStore
│ │ │ ├── AbstractAccountStoreMapping.cs
│ │ │ ├── AccountStoreContainerShared.cs
│ │ │ ├── DefaultAccountStore.cs
│ │ │ ├── IAccountStoreContainerSync.cs
│ │ │ ├── IAccountStoreMappingSync.cs
│ │ │ └── IAccountStoreSync.cs
│ │ ├── Api
│ │ │ ├── DefaultApiKey.cs
│ │ │ ├── DefaultClientApiKey.cs
│ │ │ └── IApiKeySync.cs
│ │ ├── Application
│ │ │ ├── DefaultApplication.AccountCreationActions.cs
│ │ │ ├── DefaultApplication.AccountCreationActionsSync.cs
│ │ │ ├── DefaultApplication.AccountStore.cs
│ │ │ ├── DefaultApplication.AccountStoreSync.cs
│ │ │ ├── DefaultApplication.ApiKey.cs
│ │ │ ├── DefaultApplication.Collections.cs
│ │ │ ├── DefaultApplication.EmailVerification.cs
│ │ │ ├── DefaultApplication.EmailVerificationSync.cs
│ │ │ ├── DefaultApplication.GroupCreationActions.cs
│ │ │ ├── DefaultApplication.GroupCreationActionsSync.cs
│ │ │ ├── DefaultApplication.IdSite.cs
│ │ │ ├── DefaultApplication.Login.cs
│ │ │ ├── DefaultApplication.LoginSync.cs
│ │ │ ├── DefaultApplication.Oauth.cs
│ │ │ ├── DefaultApplication.ResetPassword.cs
│ │ │ ├── DefaultApplication.ResetPasswordSync.cs
│ │ │ ├── DefaultApplication.Resources.cs
│ │ │ ├── DefaultApplication.ResourcesSync.cs
│ │ │ ├── DefaultApplication.Saml.cs
│ │ │ ├── DefaultApplication.cs
│ │ │ ├── DefaultApplicationAccountStoreMapping.cs
│ │ │ ├── DefaultApplicationCreationOptions.cs
│ │ │ ├── DefaultApplicationWebChangePasswordConfiguration.cs
│ │ │ ├── DefaultApplicationWebConfiguration.cs
│ │ │ ├── DefaultApplicationWebForgotPasswordConfiguration.cs
│ │ │ ├── DefaultApplicationWebLoginConfiguration.cs
│ │ │ ├── DefaultApplicationWebMeConfiguration.cs
│ │ │ ├── DefaultApplicationWebMeExpandConfiguration.cs
│ │ │ ├── DefaultApplicationWebOauth2Configuration.cs
│ │ │ ├── DefaultApplicationWebRegisterConfiguration.cs
│ │ │ ├── DefaultApplicationWebVerifyEmailConfiguration.cs
│ │ │ ├── IApplicationAccountStoreMappingSync.cs
│ │ │ ├── IApplicationSync.cs
│ │ │ └── IApplicationWebConfigurationSync.cs
│ │ ├── Auth
│ │ │ ├── AbstractLoginAttempt.cs
│ │ │ ├── ApiKeyAuthenticationRequest.cs
│ │ │ ├── ApiKeyAuthenticator.cs
│ │ │ ├── AuthenticationRequestDispatcher.cs
│ │ │ ├── BasicAuthenticator.cs
│ │ │ ├── DefaultAuthenticationResult.cs
│ │ │ ├── DefaultBasicLoginAttempt.cs
│ │ │ ├── IAuthenticationResultSync.cs
│ │ │ ├── IBasicLoginAttempt.cs
│ │ │ ├── IHasOrganizationNameKey.cs
│ │ │ ├── ILoginAttempt.cs
│ │ │ └── UsernamePasswordRequest.cs
│ │ ├── Cache
│ │ │ ├── DefaultCacheConfiguration.cs
│ │ │ ├── DefaultCacheConfigurationBuilder.cs
│ │ │ ├── DefaultCacheProviderFactory.cs
│ │ │ ├── DefaultCacheResolver.cs
│ │ │ ├── ICacheResolver.cs
│ │ │ ├── InMemoryCache.cs
│ │ │ ├── InMemoryCacheProvider.cs
│ │ │ ├── InMemoryCacheProviderBuilder.cs
│ │ │ ├── NullCacheProvider.cs
│ │ │ └── Polyfill.Microsoft.Extensions.Caching.Memory
│ │ │ │ ├── CacheEntry.cs
│ │ │ │ ├── CacheExtensions.cs
│ │ │ │ ├── CacheItemPriority.cs
│ │ │ │ ├── EntryLink.cs
│ │ │ │ ├── EntryLinkHelpers.cs
│ │ │ │ ├── EvictionReason.cs
│ │ │ │ ├── GcNotification.cs
│ │ │ │ ├── IEntryLink.cs
│ │ │ │ ├── IMemoryCache.cs
│ │ │ │ ├── MemoryCache.cs
│ │ │ │ ├── MemoryCacheEntryExtensions.cs
│ │ │ │ ├── MemoryCacheEntryOptions.cs
│ │ │ │ └── MemoryCacheOptions.cs
│ │ ├── Client
│ │ │ ├── DefaultClient.Collections.cs
│ │ │ ├── DefaultClient.DataStore.cs
│ │ │ ├── DefaultClient.Jwt.cs
│ │ │ ├── DefaultClient.TenantActions.cs
│ │ │ ├── DefaultClient.TenantActionsSync.cs
│ │ │ ├── DefaultClient.cs
│ │ │ ├── DefaultClientBuilder.cs
│ │ │ ├── DefaultUserAgentBuilder.cs
│ │ │ ├── IClientSync.cs
│ │ │ ├── IUserAgentBuilder.cs
│ │ │ ├── PrependingUserAgentBuilder.cs
│ │ │ ├── ShimAdditionalClientApiKeySettings.cs
│ │ │ ├── ShimClientApiKey.cs
│ │ │ └── ShimClientApiKeyBuilder.cs
│ │ ├── CustomData
│ │ │ ├── DefaultCustomData.cs
│ │ │ ├── DefaultCustomDataProxy.cs
│ │ │ └── ICustomDataSync.cs
│ │ ├── DataStore
│ │ │ ├── DefaultDataStore.Core.cs
│ │ │ ├── DefaultDataStore.Create.cs
│ │ │ ├── DefaultDataStore.Delete.cs
│ │ │ ├── DefaultDataStore.Get.cs
│ │ │ ├── DefaultDataStore.Save.cs
│ │ │ ├── DefaultDataStore.cs
│ │ │ ├── DefaultResourceConverter.cs
│ │ │ ├── DefaultResourceDataRequest.cs
│ │ │ ├── DefaultResourceDataResult.cs
│ │ │ ├── DefaultResourceFactory.cs
│ │ │ ├── Filters
│ │ │ │ ├── AbstractCacheFilter.cs
│ │ │ │ ├── AccountStoreMappingCacheInvalidationFilter.cs
│ │ │ │ ├── DefaultAsynchronousFilter.cs
│ │ │ │ ├── DefaultAsynchronousFilterChain.cs
│ │ │ │ ├── DefaultSynchronousFilter.cs
│ │ │ │ ├── DefaultSynchronousFilterChain.cs
│ │ │ │ ├── IAsynchronousFilter.cs
│ │ │ │ ├── IAsynchronousFilterChain.cs
│ │ │ │ ├── ISynchronousFilter.cs
│ │ │ │ ├── ISynchronousFilterChain.cs
│ │ │ │ ├── ProviderAccountResultFilter.cs
│ │ │ │ ├── ReadCacheFilter.cs
│ │ │ │ ├── WriteCacheFilter.Async.cs
│ │ │ │ └── WriteCacheFilter.Sync.cs
│ │ │ ├── IDataStoreSync.cs
│ │ │ ├── IInternalAsyncDataStore.cs
│ │ │ ├── IInternalDataStore.cs
│ │ │ ├── IInternalSyncDataStore.cs
│ │ │ ├── IResourceConverter.cs
│ │ │ ├── IResourceDataRequest.cs
│ │ │ ├── IResourceDataResult.cs
│ │ │ ├── IResourceFactory.cs
│ │ │ ├── ResourceAction.cs
│ │ │ ├── ResourceTypeLookup.cs
│ │ │ ├── TypeNameResolver.cs
│ │ │ └── TypeResolver.cs
│ │ ├── Directory
│ │ │ ├── DefaultAccountCreationPolicy.cs
│ │ │ ├── DefaultDirectory.Collections.cs
│ │ │ ├── DefaultDirectory.CreationActions.cs
│ │ │ ├── DefaultDirectory.CreationActionsSync.cs
│ │ │ ├── DefaultDirectory.Resources.cs
│ │ │ ├── DefaultDirectory.ResourcesSync.cs
│ │ │ ├── DefaultDirectory.cs
│ │ │ ├── DefaultDirectoryCreationOptions.cs
│ │ │ ├── DefaultPasswordPolicy.cs
│ │ │ ├── DefaultPasswordStrengthPolicy.cs
│ │ │ ├── IAccountCreationPolicySync.cs
│ │ │ ├── IDirectorySync.cs
│ │ │ ├── IPasswordPolicySync.cs
│ │ │ └── IPasswordStrengthPolicySync.cs
│ │ ├── Error
│ │ │ └── DefaultError.cs
│ │ ├── Extensions
│ │ │ ├── ConcurrentDictionaryExtensions.cs
│ │ │ └── HttpExtensions.cs
│ │ ├── Group
│ │ │ ├── DefaultGroup.Collections.cs
│ │ │ ├── DefaultGroup.Membership.cs
│ │ │ ├── DefaultGroup.MembershipSync.cs
│ │ │ ├── DefaultGroup.Resources.cs
│ │ │ ├── DefaultGroup.ResourcesSync.cs
│ │ │ ├── DefaultGroup.cs
│ │ │ ├── DefaultGroupCreationOptions.cs
│ │ │ ├── DefaultGroupMembership.cs
│ │ │ ├── GroupCreationActionsShared.cs
│ │ │ ├── IGroupCreationActionsInternal.cs
│ │ │ ├── IGroupCreationActionsSync.cs
│ │ │ ├── IGroupMembershipSync.cs
│ │ │ ├── IGroupSync.cs
│ │ │ └── IInternalGroupMembership.cs
│ │ ├── Http
│ │ │ ├── Authentication
│ │ │ │ ├── BasicRequestAuthenticator.cs
│ │ │ │ ├── DefaultRequestAuthenticatorFactory.cs
│ │ │ │ ├── IRequestAuthenticator.cs
│ │ │ │ ├── IRequestAuthenticatorFactory.cs
│ │ │ │ ├── Iso8601Formatter.cs
│ │ │ │ ├── RequestAuthenticationException.cs
│ │ │ │ └── SAuthc1RequestAuthenticator.cs
│ │ │ ├── DefaultHttpClientFactory.cs
│ │ │ ├── DefaultHttpClientLoader.cs
│ │ │ ├── DefaultHttpRequest.cs
│ │ │ ├── DefaultHttpRequestBuilder.cs
│ │ │ ├── DefaultRequestExecutor.cs
│ │ │ ├── FormUrlEncoder.cs
│ │ │ ├── IRequestExecutor.cs
│ │ │ └── Support
│ │ │ │ ├── DefaultBackoffStrategy.cs
│ │ │ │ ├── IBackoffStrategy.cs
│ │ │ │ └── ThrottlingBackoffStrategy.cs
│ │ ├── IdSite
│ │ │ ├── DefaultAccountResult.cs
│ │ │ ├── DefaultIdSiteAsyncCallbackHandler.cs
│ │ │ ├── DefaultIdSiteJtiProvider.cs
│ │ │ ├── DefaultIdSiteSyncCallbackHandler.cs
│ │ │ ├── DefaultIdSiteUrlBuilder.cs
│ │ │ ├── DefaultNonce.cs
│ │ │ ├── DefaultNonceStore.cs
│ │ │ ├── IAccountResultSync.cs
│ │ │ ├── IIdSiteJtiProvider.cs
│ │ │ ├── IdSiteClaims.cs
│ │ │ ├── InlineIdSiteAsyncResultListener.cs
│ │ │ └── InlineIdSiteSyncResultListener.cs
│ │ ├── IdentityMap
│ │ │ ├── IIdentityMap{TItem}.cs
│ │ │ ├── IdentityMapOptions.cs
│ │ │ ├── IdentityMapOptionsResolver.cs
│ │ │ └── MemoryCacheIdentityMap{TItem}.cs
│ │ ├── Jwt
│ │ │ ├── DefaultJwt.cs
│ │ │ ├── DefaultJwtBuilder.cs
│ │ │ ├── DefaultJwtClaims.cs
│ │ │ ├── DefaultJwtClaimsBuilder.cs
│ │ │ ├── DefaultJwtParser.cs
│ │ │ ├── JwtHeaderParameters.cs
│ │ │ ├── JwtLifetimeValidator.cs
│ │ │ ├── JwtSignatureValidator.cs
│ │ │ ├── JwtSigner.cs
│ │ │ ├── JwtValidator.cs
│ │ │ ├── Jwts.cs
│ │ │ └── StormpathClaims.cs
│ │ ├── Linq
│ │ │ ├── CollectionResourceQueryProvider{TResult}.cs
│ │ │ ├── CollectionResourceQueryable{TResult}.cs
│ │ │ ├── Executor
│ │ │ │ ├── CollectionResourceExecutor{TResult}.cs
│ │ │ │ ├── IAsyncExecutor{TResult}.cs
│ │ │ │ └── NullExecutor{TResult}.cs
│ │ │ ├── Parsing
│ │ │ │ ├── CompilingExpressionVisitor.cs
│ │ │ │ ├── CustomDataParsingHelper.cs
│ │ │ │ ├── DiscoveringExpressionVisitor.cs
│ │ │ │ ├── Expressions
│ │ │ │ │ ├── ExpandExpression.cs
│ │ │ │ │ ├── FilterExpression.cs
│ │ │ │ │ ├── OrderByExpression.cs
│ │ │ │ │ ├── ParsedExpression.cs
│ │ │ │ │ ├── ResultOperators
│ │ │ │ │ │ ├── AnyResultOperator.cs
│ │ │ │ │ │ ├── CountResultOperator.cs
│ │ │ │ │ │ ├── FirstResultOperator.cs
│ │ │ │ │ │ ├── LongCountResultOperator.cs
│ │ │ │ │ │ ├── ResultOperatorExpression.cs
│ │ │ │ │ │ └── SingleResultOperator.cs
│ │ │ │ │ ├── SkipExpression.cs
│ │ │ │ │ ├── TakeExpression.cs
│ │ │ │ │ └── WhereMemberExpression.cs
│ │ │ │ ├── NameTranslators
│ │ │ │ │ ├── AbstractNameTranslator.cs
│ │ │ │ │ ├── FieldNameTranslator.cs
│ │ │ │ │ └── MethodNameTranslator.cs
│ │ │ │ ├── NodeReducer.cs
│ │ │ │ ├── OrderByDirection.cs
│ │ │ │ ├── QueryModelCompiler.cs
│ │ │ │ ├── QueryModelParser.cs
│ │ │ │ ├── QueryModelValidator.cs
│ │ │ │ ├── RangedTerms
│ │ │ │ │ ├── AbstractRangedWhereTermParser.cs
│ │ │ │ │ ├── RangedDatetimeWhereTermParser.cs
│ │ │ │ │ ├── RangedDoubleWhereTermParser.cs
│ │ │ │ │ ├── RangedLongWhereTermParser.cs
│ │ │ │ │ └── RangedWhereTermWorkingModel.cs
│ │ │ │ ├── ResultOperator.cs
│ │ │ │ ├── Transformers
│ │ │ │ │ ├── AbstractExpressionTransformer.cs
│ │ │ │ │ ├── IExpressionTransformer.cs
│ │ │ │ │ ├── PartialEvaluationTransformer.cs
│ │ │ │ │ ├── VbConvertInvocationTransformer.cs
│ │ │ │ │ └── VbStringCompareTransformer.cs
│ │ │ │ ├── WhereComparison.cs
│ │ │ │ └── WhereExpressionVisitor.cs
│ │ │ ├── QueryModel
│ │ │ │ ├── CollectionResourceQueryModel.cs
│ │ │ │ ├── DatetimeShorthandModel.cs
│ │ │ │ ├── ExecutionPlanModel.cs
│ │ │ │ ├── ExpandTerm.cs
│ │ │ │ ├── OrderByTerm.cs
│ │ │ │ └── WhereTerm.cs
│ │ │ └── Sync
│ │ │ │ ├── SyncCollectionEnumeratorAdapter{TResult}.cs
│ │ │ │ └── SyncScalarExecutor{TItem}.cs
│ │ ├── Logging
│ │ │ └── NullLogger.cs
│ │ ├── Oauth
│ │ │ ├── AbstractGrantAuthenticator.cs
│ │ │ ├── DefaultAccessToken.cs
│ │ │ ├── DefaultGrantAuthenticationToken.cs
│ │ │ ├── DefaultGrantAuthenticator.cs
│ │ │ ├── DefaultIdSiteTokenAuthenticationAttempt.cs
│ │ │ ├── DefaultIdSiteTokenAuthenticationRequest.cs
│ │ │ ├── DefaultIdSiteTokenAuthenticationRequestBuilder.cs
│ │ │ ├── DefaultIdSiteTokenAuthenticator.cs
│ │ │ ├── DefaultJwtAuthenticationRequest.cs
│ │ │ ├── DefaultJwtAuthenticationRequestBuilder.cs
│ │ │ ├── DefaultJwtAuthenticator.cs
│ │ │ ├── DefaultOauthPolicy.Async.cs
│ │ │ ├── DefaultOauthPolicy.Sync.cs
│ │ │ ├── DefaultOauthPolicy.cs
│ │ │ ├── DefaultPasswordGrantAuthenticationAttempt.cs
│ │ │ ├── DefaultPasswordGrantAuthenticator.cs
│ │ │ ├── DefaultPasswordGrantRequest.cs
│ │ │ ├── DefaultPasswordGrantRequestBuilder.cs
│ │ │ ├── DefaultRefreshGrantAuthenticationAttempt.cs
│ │ │ ├── DefaultRefreshGrantAuthenticator.cs
│ │ │ ├── DefaultRefreshGrantRequest.cs
│ │ │ ├── DefaultRefreshGrantRequestBuilder.cs
│ │ │ ├── DefaultRefreshToken.cs
│ │ │ ├── IAccessTokenSync.cs
│ │ │ ├── IGrantAuthenticationToken.cs
│ │ │ ├── IIdSiteTokenAuthenticationAttempt.cs
│ │ │ ├── IIdSiteTokenAuthenticatorSync.cs
│ │ │ ├── IJwtAuthenticatorSync.cs
│ │ │ ├── IOauthAuthenticatorSync.cs
│ │ │ ├── IOauthGrantAuthenticationResultSync.cs
│ │ │ ├── IOauthPolicySync.cs
│ │ │ ├── IPasswordGrantAuthenticationAttempt.cs
│ │ │ ├── IPasswordGrantAuthenticatorSync.cs
│ │ │ ├── IRefreshGrantAuthenticationAttempt.cs
│ │ │ ├── IRefreshGrantAuthenticatorSync.cs
│ │ │ └── IRefreshTokenSync.cs
│ │ ├── Organization
│ │ │ ├── DefaultOrganization.AccountStore.cs
│ │ │ ├── DefaultOrganization.AccountStoreSync.cs
│ │ │ ├── DefaultOrganization.Collections.cs
│ │ │ ├── DefaultOrganization.CreationActions.cs
│ │ │ ├── DefaultOrganization.CreationActionsSync.cs
│ │ │ ├── DefaultOrganization.cs
│ │ │ ├── DefaultOrganizationAccountStoreMapping.cs
│ │ │ ├── DefaultOrganizationCreationOptions.cs
│ │ │ ├── IOrganizationAccountStoreMappingSync.cs
│ │ │ └── IOrganizationSync.cs
│ │ ├── Provider
│ │ │ ├── AbstractCreateProviderRequestBuilder{T}.cs
│ │ │ ├── AbstractProvider.cs
│ │ │ ├── AbstractProviderAccountRequestBuilder{T}.cs
│ │ │ ├── AbstractProviderData.cs
│ │ │ ├── DefaultAdLdapProvider.cs
│ │ │ ├── DefaultCreateProviderRequest.cs
│ │ │ ├── DefaultFacebookAccountRequestBuilder.cs
│ │ │ ├── DefaultFacebookCreateProviderRequestBuilder.cs
│ │ │ ├── DefaultFacebookProvider.cs
│ │ │ ├── DefaultFacebookProviderData.cs
│ │ │ ├── DefaultFacebookRequestFactory.cs
│ │ │ ├── DefaultGithubAccountRequestBuilder.cs
│ │ │ ├── DefaultGithubCreateProviderRequestBuilder.cs
│ │ │ ├── DefaultGithubProvider.cs
│ │ │ ├── DefaultGithubProviderData.cs
│ │ │ ├── DefaultGithubRequestFactory.cs
│ │ │ ├── DefaultGoogleAccountRequestBuilder.cs
│ │ │ ├── DefaultGoogleCreateProviderRequestBuilder.cs
│ │ │ ├── DefaultGoogleProvider.cs
│ │ │ ├── DefaultGoogleProviderData.cs
│ │ │ ├── DefaultGoogleRequestFactory.cs
│ │ │ ├── DefaultLinkedInAccountRequestBuilder.cs
│ │ │ ├── DefaultLinkedInCreateProviderRequestBuilder.cs
│ │ │ ├── DefaultLinkedInProvider.cs
│ │ │ ├── DefaultLinkedInProviderData.cs
│ │ │ ├── DefaultLinkedInRequestFactory.cs
│ │ │ ├── DefaultOauth2Provider.cs
│ │ │ ├── DefaultProvider.cs
│ │ │ ├── DefaultProviderAccountAccess.cs
│ │ │ ├── DefaultProviderAccountRequest.cs
│ │ │ ├── DefaultProviderAccountResult.cs
│ │ │ ├── DefaultProviderData.cs
│ │ │ ├── DefaultProviderFactory.cs
│ │ │ ├── DefaultSamlProvider.cs
│ │ │ ├── DefaultTwitterProvider.cs
│ │ │ ├── IProviderAccountAccess.cs
│ │ │ ├── ProviderAccountResolver.cs
│ │ │ ├── ProviderType.cs
│ │ │ └── ProviderTypeConverter.cs
│ │ ├── Resource
│ │ │ ├── AbstractExtendableInstanceResource.cs
│ │ │ ├── AbstractInstanceResource.cs
│ │ │ ├── AbstractResource.cs
│ │ │ ├── CollectionResponsePage{T}.cs
│ │ │ ├── DefaultCreationOptions.cs
│ │ │ ├── DefaultRetrievalOptions{T}.cs
│ │ │ ├── ExpandedProperty.cs
│ │ │ ├── IDeletableSync.cs
│ │ │ ├── IEmbeddedProperty.cs
│ │ │ ├── IExtendableSync.cs
│ │ │ ├── IHasAsyncDataStoreInternal.cs
│ │ │ ├── ILinkable.cs
│ │ │ ├── INotifiable.cs
│ │ │ ├── ISaveableSync{T}.cs
│ │ │ ├── ISaveableWithOptionsSync{T}.cs
│ │ │ ├── LinkProperty.cs
│ │ │ └── ResourceData.cs
│ │ ├── Saml
│ │ │ ├── DefaultSamlAccountResult.cs
│ │ │ ├── DefaultSamlAsyncCallbackHandler.cs
│ │ │ ├── DefaultSamlIdpUrlBuilder.cs
│ │ │ ├── DefaultSamlPolicy.cs
│ │ │ ├── DefaultSamlServiceProvider.cs
│ │ │ ├── DefaultSamlSyncCallbackHandler.cs
│ │ │ ├── DefaultSsoInitiationEndpoint.cs
│ │ │ ├── ISamlAccountResultSync.cs
│ │ │ ├── ISamlPolicySync.cs
│ │ │ ├── ISamlServiceProviderSync.cs
│ │ │ ├── InlineSamlAsyncResultListener.cs
│ │ │ ├── InlineSamlSyncResultListener.cs
│ │ │ └── SamlClaims.cs
│ │ ├── Serialization
│ │ │ ├── DefaultSerializerFactory.cs
│ │ │ ├── DefaultSerializerLoader.cs
│ │ │ ├── FieldConverters
│ │ │ │ ├── AbstractFieldConverter.cs
│ │ │ │ ├── ExpandedPropertyConverter.cs
│ │ │ │ ├── FieldConverterList.cs
│ │ │ │ ├── FieldConverterResult.cs
│ │ │ │ ├── FuncFieldConverter.cs
│ │ │ │ └── LinkPropertyConverter.cs
│ │ │ └── JsonSerializationProvider.cs
│ │ ├── Tenant
│ │ │ ├── DefaultTenant.Collections.cs
│ │ │ ├── DefaultTenant.TenantActions.cs
│ │ │ ├── DefaultTenant.TenantActionsSync.cs
│ │ │ ├── DefaultTenant.cs
│ │ │ ├── IHasTenantSync.cs
│ │ │ ├── ITenantActionsSync.cs
│ │ │ ├── ITenantSync.cs
│ │ │ └── TenantActionsShared.cs
│ │ └── Utility
│ │ │ ├── AnonymousType.cs
│ │ │ ├── Base64.cs
│ │ │ ├── DefaultClock.cs
│ │ │ ├── DurationVisitor.Api.cs
│ │ │ ├── DurationVisitor.cs
│ │ │ ├── HmacGenerator.cs
│ │ │ ├── IClock.cs
│ │ │ ├── IFile.cs
│ │ │ ├── Iso8601.cs
│ │ │ ├── Iso8601Duration.cs
│ │ │ ├── PocoAdapter{T}.cs
│ │ │ ├── PocoTypeLookup.cs
│ │ │ ├── Properties.cs
│ │ │ ├── TypeLoader.cs
│ │ │ └── UnixDate.cs
│ ├── Linq
│ │ └── RetrievalOptionsExpandExtensions.cs
│ ├── Oauth
│ │ └── OauthRequests.cs
│ ├── Organization
│ │ └── OrganizationCreationOptionsBuilder.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Provider
│ │ └── ClientProviderExtensions.cs
│ ├── Serialization
│ │ ├── SerializeFactoryAutodetectExtensions.cs
│ │ └── Serializers.cs
│ ├── Stormpath.SDK.Core.xproj
│ ├── Sync
│ │ ├── SyncAccessTokenExtensions.cs
│ │ ├── SyncAccountCreationActionsExtensions.cs
│ │ ├── SyncAccountExtensions.cs
│ │ ├── SyncAccountResultExtensions.cs
│ │ ├── SyncAccountStoreContainerExtensions.cs
│ │ ├── SyncAccountStoreExtensions.cs
│ │ ├── SyncAccountStoreMappingExtensions.cs
│ │ ├── SyncApiKeyExtensions.cs
│ │ ├── SyncApplicationExtensions.cs
│ │ ├── SyncApplicationWebConfigExtensions.cs
│ │ ├── SyncAuthenticationResultExtensions.cs
│ │ ├── SyncChallengeCollectionExtensions.cs
│ │ ├── SyncChallengeExtensions.cs
│ │ ├── SyncClientExtensions.cs
│ │ ├── SyncDataStoreExtensions.cs
│ │ ├── SyncDirectoryExtensions.cs
│ │ ├── SyncEmailVerificationRequestExtensions.cs
│ │ ├── SyncExtendableExtensions.cs
│ │ ├── SyncFactorCollectionExtensions.cs
│ │ ├── SyncFactorExtensions.cs
│ │ ├── SyncGroupCreationExtensions.cs
│ │ ├── SyncGroupExtensions.cs
│ │ ├── SyncGroupMembershipExtensions.cs
│ │ ├── SyncHasTenantExtensions.cs
│ │ ├── SyncIdSiteTokenAuthenticatorExtensions.cs
│ │ ├── SyncJwtAuthenticatorExtensions.cs
│ │ ├── SyncOauthGrantAuthenticationResult.cs
│ │ ├── SyncOauthPolicyExtensions.cs
│ │ ├── SyncOrganizationAccountStoreMappingExtensions.cs
│ │ ├── SyncPasswordGrantAuthenticatorExtensions.cs
│ │ ├── SyncPasswordPolicyExtensions.cs
│ │ ├── SyncPasswordResetTokenExtensions.cs
│ │ ├── SyncPhoneCollectionExtensions.cs
│ │ ├── SyncPhoneExtensions.cs
│ │ ├── SyncQueryableExtensions.cs
│ │ ├── SyncRefreshGrantAuthenticatorExtensions.cs
│ │ ├── SyncRefreshTokenExtensions.cs
│ │ ├── SyncResourceExtensions.cs
│ │ ├── SyncSamlAccountResultExtensions.cs
│ │ ├── SyncSamlPolicyExtensions.cs
│ │ ├── SyncSamlServiceProviderExtensions.cs
│ │ ├── SyncSmsFactorExtensions.cs
│ │ └── SyncTenantActionsExtensions.cs
│ ├── TenantActionsCompatibilityExtensions.cs
│ ├── TypeInfoAllMemberExtensions.cs
│ └── project.json
├── Stormpath.SDK.Http.SystemNetHttpClient
│ ├── .gitignore
│ ├── Stormpath.SDK.Http.SystemNetHttpClient.xproj
│ ├── SystemNetHttpAdapter.cs
│ ├── SystemNetHttpClient.cs
│ ├── SystemNetHttpClientFactoryExtensions.cs
│ ├── SystemNetHttpResponse.cs
│ └── project.json
├── Stormpath.SDK.JsonNetSerializer
│ ├── JsonNetSerializer.cs
│ ├── JsonNetSerializerFactoryExtensions.cs
│ ├── Stormpath.SDK.JsonNetSerializer.xproj
│ └── project.json
└── Stormpath.SDK.RestSharpClient
│ ├── RestSharpAdapter.cs
│ ├── RestSharpClient.cs
│ ├── RestSharpHttpClientFactoryExtensions.cs
│ ├── RestSharpHttpResponse.cs
│ ├── Stormpath.SDK.RestSharpClient.xproj
│ └── project.json
├── test
├── Stormpath.SDK.Cache.Redis.Tests
│ ├── AsyncTests.cs
│ ├── RedisTestBase.cs
│ ├── RedisTestCollection.cs
│ ├── RedisTestFixture.cs
│ ├── Sanity_tests.cs
│ ├── Stormpath.SDK.Cache.Redis.Tests.xproj
│ ├── SyncTests.cs
│ ├── TestHelper.cs
│ └── project.json
├── Stormpath.SDK.JsonNetSerializer.Tests
│ ├── Deserialization_tests.cs
│ ├── Serialization_tests.cs
│ ├── Stormpath.SDK.JsonNetSerializer.Tests.xproj
│ └── project.json
├── Stormpath.SDK.RestSharpClient.Tests
│ ├── RestSharpAdapter_tests.cs
│ ├── Stormpath.SDK.RestSharpClient.Tests.xproj
│ └── project.json
├── Stormpath.SDK.Tests.Common
│ ├── Assertly.cs
│ ├── DebugOnlyFactAttribute.cs
│ ├── DebugOnlyTheoryAttribute.cs
│ ├── Delay.cs
│ ├── Fakes
│ │ ├── AbstractMockHttpClient.cs
│ │ ├── FakeApiKey.cs
│ │ ├── FakeHttpResponse.cs
│ │ ├── FakeJson.cs
│ │ ├── FakeUserAgentBuilder.cs
│ │ ├── ResourceReturningHttpClient.cs
│ │ ├── StubRequestExecutor.cs
│ │ └── TestAccounts.cs
│ ├── Integration
│ │ ├── CreateSingleDirectoryFixture.cs
│ │ ├── TestClientProvider.cs
│ │ ├── TestClients.cs
│ │ ├── TestDataGenerator.cs
│ │ └── TestFixture.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RandomData
│ │ ├── RandomEmail.cs
│ │ ├── RandomPassword.cs
│ │ ├── RandomPassword_tests.cs
│ │ └── RandomString.cs
│ ├── SimplePoco.cs
│ ├── StaticLogger.cs
│ ├── Stormpath.SDK.Tests.Common.xproj
│ ├── TestDataStore.cs
│ └── project.json
├── Stormpath.SDK.Tests.CoreClr
│ ├── Reflection.cs
│ ├── Stormpath.SDK.Tests.CoreClr.xproj
│ ├── Tenant.cs
│ └── project.json
├── Stormpath.SDK.Tests.Integration.VB
│ ├── Async
│ │ ├── Account_tests.vb
│ │ ├── ApiKey_tests.vb
│ │ ├── Application_tests.vb
│ │ ├── CustomData_embedded_tests.vb
│ │ ├── CustomData_tests.vb
│ │ ├── Directory_tests.vb
│ │ ├── Entity_tests.vb
│ │ ├── Error_tests.vb
│ │ ├── Expansion_linq_tests.vb
│ │ ├── Expansion_retrieval_tests.vb
│ │ ├── Group_tests.vb
│ │ ├── OauthPolicy_tests.vb
│ │ ├── Oauth_tests.vb
│ │ ├── Organization_tests.vb
│ │ ├── Saml_tests.vb
│ │ └── Tenant_tests.vb
│ ├── IntegrationTestCollection.vb
│ ├── Linq_test.vb
│ ├── My Project
│ │ ├── Application.Designer.vb
│ │ ├── Application.myapp
│ │ ├── AssemblyInfo.vb
│ │ ├── Resources.Designer.vb
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.vb
│ │ └── Settings.settings
│ ├── Stormpath.SDK.Tests.Integration.VB.vbproj
│ ├── Sync
│ │ ├── Account_tests.vb
│ │ ├── ApiKey_tests.vb
│ │ ├── Application_tests.vb
│ │ ├── CustomData_embedded_tests.vb
│ │ ├── CustomData_tests.vb
│ │ ├── Directory_tests.vb
│ │ ├── Entity_tests.vb
│ │ ├── Error_tests.vb
│ │ ├── Expansion_linq_tests.vb
│ │ ├── Expansion_retrieval_tests.vb
│ │ ├── Group_tests.vb
│ │ ├── OauthPolicy_tests.vb
│ │ ├── Oauth_tests.vb
│ │ ├── Organization_tests.vb
│ │ ├── Saml_tests.vb
│ │ └── Tenant_tests.vb
│ ├── app.config
│ └── packages.config
├── Stormpath.SDK.Tests.Integration
│ ├── Async
│ │ ├── Account_tests.cs
│ │ ├── ApiKey_tests.cs
│ │ ├── Application_tests.cs
│ │ ├── CustomData_embedded_tests.cs
│ │ ├── CustomData_search_tests.cs
│ │ ├── CustomData_tests.cs
│ │ ├── Directory_tests.cs
│ │ ├── Entity_tests.cs
│ │ ├── Error_tests.cs
│ │ ├── Expansion_linq_tests.cs
│ │ ├── Expansion_retrieval_tests.cs
│ │ ├── Group_tests.cs
│ │ ├── OauthPolicy_tests.cs
│ │ ├── Oauth_tests.cs
│ │ ├── Organization_tests.cs
│ │ ├── Saml_tests.cs
│ │ └── Tenant_tests.cs
│ ├── IntegrationTestCollection.cs
│ ├── Sanity_tests.cs
│ ├── Stormpath.SDK.Tests.Integration.xproj
│ ├── Sync
│ │ ├── Account_tests.cs
│ │ ├── ApiKey_tests.cs
│ │ ├── Application_tests.cs
│ │ ├── CustomData_embedded_tests.cs
│ │ ├── CustomData_search_tests.cs
│ │ ├── CustomData_tests.cs
│ │ ├── Directory_tests.cs
│ │ ├── Entity_tests.cs
│ │ ├── Error_tests.cs
│ │ ├── Expansion_linq_tests.cs
│ │ ├── Expansion_retrieval_tests.cs
│ │ ├── Group_tests.cs
│ │ ├── OauthPolicy_tests.cs
│ │ ├── Oauth_tests.cs
│ │ ├── Organization_tests.cs
│ │ ├── Saml_tests.cs
│ │ └── Tenant_tests.cs
│ ├── project.json
│ └── xunit.runner.json
├── Stormpath.SDK.Tests.Sanity
│ ├── Api.cs
│ ├── Helpers.cs
│ ├── Integration.cs
│ ├── Stormpath.SDK.Tests.Sanity.xproj
│ ├── Stormpath.SDK.approved
│ └── project.json
├── Stormpath.SDK.Tests.Unit
│ ├── Oauth
│ │ ├── ClientCredentialsGrantShould.cs
│ │ ├── FactorChallengeRequestShould.cs
│ │ ├── PasswordGrantRequestShould.cs
│ │ ├── RefreshGrantRequestShould.cs
│ │ ├── SocialGrantRequestShould.cs
│ │ └── StormpathTokenGrantRequestShould.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Stormpath.SDK.Tests.Unit.xproj
│ └── project.json
├── Stormpath.SDK.Tests.VB
│ ├── My Project
│ │ ├── Application.Designer.vb
│ │ ├── Application.myapp
│ │ ├── AssemblyInfo.vb
│ │ ├── Resources.Designer.vb
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.vb
│ │ └── Settings.settings
│ ├── Stormpath.SDK.Tests.VB.vbproj
│ ├── User_agent_tests.vb
│ ├── app.config
│ └── packages.config
├── Stormpath.SDK.Tests
│ ├── AbstractHttpClientBuilder_tests.cs
│ ├── AbstractJsonSerializerBuilder_tests.cs
│ ├── Authentication
│ │ ├── BasicRequestAuthenticator_tests.cs
│ │ ├── DefaultRequestAuthenticatorFactory_tests.cs
│ │ └── SAuthc1RequestAuthenticator_tests.cs
│ ├── BackoffStrategy_tests.cs
│ ├── Cache
│ │ ├── Async_caching_tests.cs
│ │ ├── DefaultCacheResolver_tests.cs
│ │ ├── InMemoryCacheProviderBuilder_tests.cs
│ │ ├── InMemoryCache_tests.cs
│ │ └── Sync_caching_tests.cs
│ ├── CanonicalUri_tests.cs
│ ├── ClientApiKey_tests.cs
│ ├── CreationOptions_tests.cs
│ ├── DefaultAccountResult_tests.cs
│ ├── DefaultClientBuilder_tests.cs
│ ├── DefaultCreationOptionsShould.cs
│ ├── DefaultCustomData_persistence_tests.cs
│ ├── DefaultCustomData_tests.cs
│ ├── DefaultDataStore_tests.cs
│ ├── DefaultHttpRequestBuilder_tests.cs
│ ├── DefaultProviderAccountResult_tests.cs
│ ├── DefaultRequestExecutor_tests.cs
│ ├── DefaultResourceFactory_tests.cs
│ ├── Entity_identity_map_tests.cs
│ ├── Expansion_retrieval_options_tests.cs
│ ├── Expansion_save_options_tests.cs
│ ├── Extensions
│ │ ├── Dictionary_TryGetValueAsString_tests.cs
│ │ ├── Enumerable_IsNullOrEmpty_tests.cs
│ │ └── String_Nullable_tests.cs
│ ├── Fakes
│ │ └── CollectionReturningHttpClient{T}.cs
│ ├── FieldConverterList_tests.cs
│ ├── FilterChain_tests.cs
│ ├── FormUrlEncoder_tests.cs
│ ├── GetProviderShould.cs
│ ├── Helpers
│ │ └── SerializableTimeSpan.cs
│ ├── HttpHeaders_tests.cs
│ ├── IdSite
│ │ ├── CallbackHandlerTests.cs
│ │ ├── DefaultIdSiteAsyncCallbackHandler_exception_tests.cs
│ │ ├── DefaultIdSiteAsyncCallbackHandler_tests.cs
│ │ ├── DefaultIdSiteSyncCallbackHandler_exception_tests.cs
│ │ ├── DefaultIdSiteSyncCallbackHandler_tests.cs
│ │ ├── DefaultIdSiteUrlBuilder_tests.cs
│ │ ├── ExceptionTests.cs
│ │ ├── InlineIdSiteAsyncResultListener_tests.cs
│ │ └── InlineIdSiteSyncResultListener_tests.cs
│ ├── IdentityMap
│ │ ├── Multi_threaded_tests.cs
│ │ ├── Single_threaded_tests.cs
│ │ └── TestEntity.cs
│ ├── Jwt
│ │ ├── DefaultJwtClaimsBuilder_tests.cs
│ │ ├── DefaultJwtParser_tests.cs
│ │ ├── Jwt_tests.cs
│ │ └── Local_validation_tests.cs
│ ├── LinkProperty_tests.cs
│ ├── Linq
│ │ ├── AnyAsync_tests.cs
│ │ ├── CollectionResourceQueryable_iteration_tests.cs
│ │ ├── Complicated_tests.cs
│ │ ├── CountAsync_tests.cs
│ │ ├── Expand_extension_tests.cs
│ │ ├── Expand_resource_tests.cs
│ │ ├── Filter_extension_tests.cs
│ │ ├── FirstAsync_tests.cs
│ │ ├── FirstOrDefaultAsync_tests.cs
│ │ ├── ForEachAsync_tests.cs
│ │ ├── Linq_test{T}.cs
│ │ ├── OrderBy_tests.cs
│ │ ├── SingleAsync_tests.cs
│ │ ├── SingleOrDefaultAsync_tests.cs
│ │ ├── Skip_tests.cs
│ │ ├── SyncAdapter_tests.cs
│ │ ├── Sync_Any_tests.cs
│ │ ├── Sync_AsEnumerable_tests.cs
│ │ ├── Sync_Count_tests.cs
│ │ ├── Sync_FirstOrDefault_tests.cs
│ │ ├── Sync_First_tests.cs
│ │ ├── Sync_SingleOrDefault_tests.cs
│ │ ├── Sync_Single_tests.cs
│ │ ├── Sync_ToList_tests.cs
│ │ ├── Sync_expand_extension_tests.cs
│ │ ├── Sync_foreach_tests.cs
│ │ ├── Sync_unsupported_methods_tests.cs
│ │ ├── Synchronously_extension_tests.cs
│ │ ├── Take_tests.cs
│ │ ├── ToArrayAsync_tests.cs
│ │ ├── ToListAsync_tests.cs
│ │ ├── Where_custom_data_tests.cs
│ │ ├── Where_tests.cs
│ │ └── Within_extension_tests.cs
│ ├── LoggerExtensions_tests.cs
│ ├── PasswordResetToken_tests.cs
│ ├── QueryString_tests.cs
│ ├── ResourceTypes_tests.cs
│ ├── Saml
│ │ └── DefaultSamlIdpUrlBuilder_tests.cs
│ ├── ScopedClientBuilder_tests.cs
│ ├── Stormpath.SDK.Tests.xproj
│ ├── UriQualifier_tests.cs
│ ├── UrlEncoding_tests.cs
│ ├── User_agent_tests.cs
│ ├── Utility
│ │ ├── AnonymousType_tests.cs
│ │ ├── Base64_tests.cs
│ │ ├── ImmutableValueObject_tests.cs
│ │ ├── Iso8601Duration_tests.cs
│ │ ├── Iso8601_tests.cs
│ │ ├── Properties_tests.cs
│ │ └── UnixDate_tests.cs
│ └── project.json
├── Stormpath.SDK.UAT.Net461
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Stormpath.SDK.UAT.Net461.xproj
│ └── project.json
└── Stormpath.SDK.UAT
│ ├── Program.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── Stormpath.SDK.UAT.xproj
│ └── project.json
└── tools
├── Cake
├── Autofac.dll
├── Cake.Common.dll
├── Cake.Common.xml
├── Cake.Core.dll
├── Cake.Core.xml
├── Cake.NuGet.dll
├── Cake.NuGet.xml
├── Cake.exe
├── LICENSE
├── Mono.CSharp.dll
├── NuGet.Core.dll
├── Roslyn.Compilers.CSharp.dll
└── Roslyn.Compilers.dll
├── packages.config
└── packages.config.md5sum
/CHANGELOG.MD:
--------------------------------------------------------------------------------
1 | ## Change Log ##
2 |
3 | ### 0.1.0-rc ##
4 |
5 | Notes:
6 |
7 | - Initial preview/release candidate.
8 |
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: 1.0.{build}
2 | build_script:
3 | - ps: ./build.ps1
4 | test_script:
5 | - ps: ./build.ps1 -Target Test
6 | artifacts:
7 | - path: artifacts/*.nupkg
8 | deploy: off
9 | on_success:
10 | - ps: ./script/BuildAndDeployDocs.ps1
--------------------------------------------------------------------------------
/doc/doc.content:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/doc/examples/DocExamples/Blog/IntroducingCsharpSdk.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Stormpath.SDK.Application;
6 |
7 | namespace Stormpath.SDK.DocExamples.Blogs
8 | {
9 | ///
10 | /// Code listings for https://stormpath.com/blog/introducing-csharp-sdk
11 | ///
12 | public class IntroducingCsharpSdk
13 | {
14 | private async Task LinqExample()
15 | {
16 | IApplication myApp = null;
17 |
18 | #region code
19 |
20 | var newUsersThisMonthNamedSkywalker = await myApp.GetAccounts()
21 | .Where(x => x.Surname == "Skywalker" && x.CreatedAt.Within(2015, 09))
22 | .OrderBy(x => x.Email)
23 | .Take(10)
24 | .ToListAsync();
25 |
26 | #endregion
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/doc/examples/DocExamples/ConsoleQuickstartExamples.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using System.Collections.Generic;
19 | using System.Linq;
20 | using System.Threading.Tasks;
21 |
22 | namespace DocExamples
23 | {
24 | public class ConsoleQuickstartExamples
25 | {
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/doc/examples/DocExamples/CreationOptionsBuilderExamples.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK;
18 | using Stormpath.SDK.Account;
19 |
20 | namespace DocExamples
21 | {
22 | public class CreationOptionsBuilderExamples
23 | {
24 | private readonly AccountCreationOptionsBuilder builder = null;
25 |
26 | public void RequestCustomData()
27 | {
28 | #region RequestCustomData
29 | builder.ResponseOptions.Expand(x => x.GetCustomData());
30 | #endregion
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/doc/examples/DocExamples/Stormpath.SDK.DocExamples.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | b23da7d8-6bfa-4106-9075-ce738a49c03a
10 | Stormpath.SDK.DocExamples
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/doc/examples/DocExamples/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "authors": [ "Nate Barbettini", "Contributors" ],
3 | "copyright": "(c) 2016 Stormpath, Inc.",
4 | "dependencies": {
5 | "Stormpath.SDK.Cache.Redis": {
6 | "target": "project",
7 | "version": "0.9.1"
8 | },
9 | "Stormpath.SDK.Core": {
10 | "target": "project",
11 | "version": "0.91.0"
12 | },
13 | "Stormpath.SDK.JsonNetSerializer": {
14 | "target": "project",
15 | "version": "0.91.0"
16 | },
17 | "Stormpath.SDK.RestSharpClient": {
18 | "target": "project",
19 | "version": "0.91.0"
20 | }
21 | },
22 | "description": "Documentation examples for the Stormpath .NET SDK.",
23 | "frameworks": {
24 | "net451": { }
25 | },
26 | "packOptions": {
27 | "licenseUrl": "https://github.com/stormpath/stormpath-sdk-dotnet/blob/master/LICENSE",
28 | "owners": [ "Stormpath, Inc." ],
29 | "projectUrl": "https://github.com/stormpath/stormpath-sdk-dotnet",
30 | "repository": {
31 | "url": "https://github.com/stormpath/stormpath-sdk-dotnet"
32 | }
33 | },
34 | "title": "Stormpath.SDK.DocExamples",
35 | "tooling": {
36 | "defaultNamespace": "DocExamples"
37 | },
38 | "version": "0.91.0"
39 | }
40 |
--------------------------------------------------------------------------------
/doc/examples/DocExamplesVB/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/doc/examples/DocExamplesVB/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/doc/examples/DocExamplesVB/My Project/AssemblyInfo.vb:
--------------------------------------------------------------------------------
1 | Imports System
2 | Imports System.Reflection
3 | Imports System.Runtime.InteropServices
4 |
5 | ' General Information about an assembly is controlled through the following
6 | ' set of attributes. Change these attribute values to modify the information
7 | ' associated with an assembly.
8 |
9 | ' Review the values of the assembly attributes
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM
21 |
22 |
23 | ' Version information for an assembly consists of the following four values:
24 | '
25 | ' Major Version
26 | ' Minor Version
27 | ' Build Number
28 | ' Revision
29 | '
30 | ' You can specify all the values or you can default the Build and Revision Numbers
31 | ' by using the '*' as shown below:
32 | '
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/doc/examples/DocExamplesVB/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/doc/examples/DocExamplesVB/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/doc/proxy/Stormpath.SDK.Abstractions/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | [assembly: AssemblyTitle("Stormpath.SDK.Abstractions")]
4 | [assembly: AssemblyDescription("Abstractions for the Stormpath .NET SDK.")]
5 | [assembly: AssemblyCompany("Stormpath, Inc.")]
6 | [assembly: AssemblyCopyright("(c) 2016 Stormpath, Inc.")]
7 | [assembly: AssemblyVersion("0.95.0")]
8 | [assembly: AssemblyFileVersion("0.95.0")]
9 |
10 |
--------------------------------------------------------------------------------
/doc/proxy/Stormpath.SDK.Abstractions/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/doc/proxy/Stormpath.SDK/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | [assembly: AssemblyTitle("Stormpath.SDK.Core")]
4 | [assembly: AssemblyDescription("The official Stormpath SDK for .NET. Don't install this package directly; install the Stormpath.SDK package unless you are bringing your own JSON serializer and HTTP client plugins.")]
5 | [assembly: AssemblyCompany("Stormpath, Inc.")]
6 | [assembly: AssemblyCopyright("(c) 2016 Stormpath, Inc.")]
7 | [assembly: AssemblyVersion("0.95.0")]
8 | [assembly: AssemblyFileVersion("0.95.0")]
9 |
10 |
--------------------------------------------------------------------------------
/doc/proxy/Stormpath.SDK/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "projects": [ "src", "test", "doc/examples" ],
3 | "sdk": {
4 | "version": "1.0.0-preview2-1-003177"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/icon.png
--------------------------------------------------------------------------------
/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/pack.cmd:
--------------------------------------------------------------------------------
1 | nuget pack Stormpath.SDK.nuspec -Exclude **\*
--------------------------------------------------------------------------------
/script/add-gtm.ps1:
--------------------------------------------------------------------------------
1 | Function InsertAfterString
2 | {
3 | param([string]$text, [string]$find, [string]$insert)
4 |
5 | $start = $text.IndexOf($find) + $find.length
6 | $beginning = $text.Substring(0, $start)
7 | $end = $text.Substring($start)
8 | return -join($beginning, $insert, $end)
9 | }
10 |
11 | Function InsertGTM
12 | {
13 | param ($file)
14 |
15 | $input = Get-Content $file -Raw
16 | $output = InsertAfterString $input "" ""
17 | $output = InsertAfterString $output "" ""
18 | Set-Content $file -Value $output -Encoding UTF8
19 | }
--------------------------------------------------------------------------------
/script/prep-documentation.ps1:
--------------------------------------------------------------------------------
1 | $exitCode = 0
2 |
3 | Write-Host "Generating proxy .csproj files..."
4 |
5 | # Import proxy generation functions
6 | . ("{0}\doc-proxy-functions.ps1" -f $PSScriptRoot)
7 |
8 | $root = (Get-Item $PSScriptRoot).Parent.FullName
9 |
10 | try
11 | {
12 | Generate-Documentation-Proxy "$($root)\doc\proxy\Stormpath.SDK.Abstractions\Stormpath.SDK.Abstractions.csproj" "$($root)\src\Stormpath.SDK.Abstractions"
13 | Generate-AssemblyInfo "$($root)\doc\proxy\Stormpath.SDK.Abstractions\Properties\AssemblyInfo.cs" "$($root)\src\Stormpath.SDK.Abstractions\project.json"
14 |
15 | Generate-Documentation-Proxy "$($root)\doc\proxy\Stormpath.SDK\Stormpath.SDK.csproj" "$($root)\src\Stormpath.SDK.Core"
16 | Generate-AssemblyInfo "$($root)\doc\proxy\Stormpath.SDK\Properties\AssemblyInfo.cs" "$($root)\src\Stormpath.SDK.Core\project.json"
17 | }
18 | catch
19 | {
20 | $exitCode = 1
21 | throw
22 | }
23 |
24 | Write-Host "Documentation is ready to compile!"
25 |
26 | return $exitCode
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/ChallengeCreationOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Account
2 | {
3 | ///
4 | /// Defines the options available when creating a Challenge.
5 | ///
6 | public sealed class ChallengeCreationOptions
7 | {
8 | ///
9 | /// Gets or sets the optional message used for the challenge.
10 | ///
11 | /// The message used for the challenge, or .
12 | public string Message { get; set; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/IChallengeCollection.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 | using System.Threading.Tasks;
3 | using Stormpath.SDK.Linq;
4 |
5 | namespace Stormpath.SDK.Account
6 | {
7 | ///
8 | /// Represents a collection of Factors.
9 | ///
10 | public interface IChallengeCollection : IAsyncQueryable
11 | {
12 | ///
13 | /// Adds a new challenge with the default options.
14 | ///
15 | /// The cancellation token.
16 | /// The newly-created challenge.
17 | Task AddAsync(CancellationToken cancellationToken = default(CancellationToken));
18 |
19 | ///
20 | /// Adds a new challenge.
21 | ///
22 | /// The challenge options.
23 | /// The cancellation token.
24 | /// The newly-created challenge.
25 | Task AddAsync(
26 | ChallengeCreationOptions options,
27 | CancellationToken cancellationToken = default(CancellationToken));
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/IGoogleAuthenticatorFactor.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Account
2 | {
3 | ///
4 | /// A Google Authenticator (TOTP-based) Factor.
5 | ///
6 | public interface IGoogleAuthenticatorFactor : IFactor
7 | {
8 | ///
9 | /// Gets or sets the account name.
10 | ///
11 | /// The account name.
12 | string AccountName { get; set; }
13 |
14 | ///
15 | /// Gets or sets the issuer name.
16 | ///
17 | /// The issuer name.
18 | string Issuer { get; set; }
19 |
20 | ///
21 | /// Gets the TOTP secret.
22 | ///
23 | /// The TOTP secret.
24 | string Secret { get; }
25 |
26 | ///
27 | /// Gets the TOTP key URI.
28 | ///
29 | /// The TOTP key URI.
30 | string KeyUri { get; }
31 |
32 | ///
33 | /// Gets the TOTP QR image as a base64-encoded string.
34 | ///
35 | /// The QR image as a base64-encoded string.
36 | string Base64QrImage { get; }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/IPhoneCollection.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 | using System.Threading.Tasks;
3 | using Stormpath.SDK.Linq;
4 |
5 | namespace Stormpath.SDK.Account
6 | {
7 | ///
8 | /// Represents a collection of Phones.
9 | ///
10 | public interface IPhoneCollection : IAsyncQueryable
11 | {
12 | ///
13 | /// Adds a new phone.
14 | ///
15 | /// The phone number.
16 | /// The cancellation token.
17 | /// The new Phone.
18 | Task AddAsync(string number, CancellationToken cancellationToken = default(CancellationToken));
19 |
20 | ///
21 | /// Adds a new phone with the specified options.
22 | ///
23 | /// The phone creation options.
24 | /// The cancellation token.
25 | /// The new Phone.
26 | Task AddAsync(PhoneCreationOptions options, CancellationToken cancellationToken = default(CancellationToken));
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/ISmsFactor.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 | using System.Threading.Tasks;
3 |
4 | namespace Stormpath.SDK.Account
5 | {
6 | ///
7 | /// A SMS Factor.
8 | ///
9 | public interface ISmsFactor : IFactor
10 | {
11 | ///
12 | /// Gets the Phone associated with this factor.
13 | ///
14 | /// The cancellation token.
15 | /// The Phone associated with this factor.
16 | Task GetPhoneAsync(CancellationToken cancellationToken = default(CancellationToken));
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Account/SmsFactorCreationOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Account
2 | {
3 | ///
4 | /// Defines the options available when creating an SMS Factor.
5 | ///
6 | public sealed class SmsFactorCreationOptions
7 | {
8 | ///
9 | /// Gets or sets whether to challenge this factor immediately.
10 | ///
11 | /// If , the factor will be challenged immediately.
12 | /// Whether to challenge this factor immediately.
13 | public bool Challenge { get; set; } = false;
14 |
15 | ///
16 | /// Gets or sets the phone number to use for the factor.
17 | ///
18 | /// The phone number to use for the factor.
19 | public string Number { get; set; }
20 |
21 | ///
22 | /// Gets or sets the factor status.
23 | ///
24 | /// The factor status.
25 | public FactorStatus Status { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebChangePasswordConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebChangePasswordConfiguration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebConfiguration.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 | using System.Threading.Tasks;
3 | using Stormpath.SDK.Api;
4 | using Stormpath.SDK.Resource;
5 | using Stormpath.SDK.Tenant;
6 |
7 | namespace Stormpath.SDK.Application
8 | {
9 | public interface IApplicationWebConfiguration : IResource, IHasTenant, IAuditable
10 | {
11 | IApplicationWebChangePasswordConfiguration ChangePassword { get; }
12 |
13 | string DnsLabel { get; }
14 |
15 | string DomainName { get; }
16 |
17 | IApplicationWebForgotPasswordConfiguration ForgotPassword { get; }
18 |
19 | IApplicationWebLoginConfiguration Login { get; }
20 |
21 | IApplicationWebMeConfiguration Me { get; }
22 |
23 | IApplicationWebOauth2Configuration Oauth2 { get; }
24 |
25 | IApplicationWebRegisterConfiguration Register { get; }
26 |
27 | //IApiKey SigningApiKey { set; }
28 |
29 | ClientApiStatus Status { get; }
30 |
31 | IApplicationWebVerifyEmailConfiguration VerifyEmail { get; }
32 |
33 | Task GetSigningApiKeyAsync(CancellationToken cancellationToken = default(CancellationToken));
34 |
35 | Task GetApplicationAsync(CancellationToken cancellationToken = default(CancellationToken));
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebForgotPasswordConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebForgotPasswordConfiguration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebLoginConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebLoginConfiguration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebMeConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebMeConfiguration
4 | {
5 | bool? Enabled { get; }
6 |
7 | IApplicationWebMeExpandConfiguration Expand { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebMeExpandConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebMeExpandConfiguration
4 | {
5 | bool? ApiKeys { get; }
6 |
7 | bool? Applications { get; }
8 |
9 | bool? CustomData { get; }
10 |
11 | bool? Directory { get; }
12 |
13 | bool? GroupMemberships { get; }
14 |
15 | bool? Groups { get; }
16 |
17 | bool? ProviderData { get; }
18 |
19 | bool? Tenant { get; }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebOauth2Configuration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebOauth2Configuration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebRegisterConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebRegisterConfiguration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Application/IApplicationWebVerifyEmailConfiguration.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Application
2 | {
3 | public interface IApplicationWebVerifyEmailConfiguration
4 | {
5 | bool? Enabled { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Group/IGroupCreationOptions.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Resource;
18 |
19 | namespace Stormpath.SDK.Group
20 | {
21 | ///
22 | /// Represents options for an Group creation request.
23 | ///
24 | public interface IGroupCreationOptions : ICreationOptions
25 | {
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Http/IHttpClientFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Http
18 | {
19 | ///
20 | /// Represents a factory that can create HTTP client builders. HTTP client plugins can use extension methods to add additional options to this interface.
21 | ///
22 | ///
23 | ///
24 | ///
25 | public interface IHttpClientFactory
26 | {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Http/ISynchronousHttpClient.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Http
18 | {
19 | ///
20 | /// An HTTP client that can execute synchronous requests.
21 | ///
22 | public interface ISynchronousHttpClient : IHttpClient
23 | {
24 | ///
25 | /// Executes an HTTP request synchronously.
26 | ///
27 | /// The HTTP request.
28 | /// The HTTP response.
29 | IHttpResponse Execute(IHttpRequest request);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/IdSite/INonce.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Resource;
18 |
19 | namespace Stormpath.SDK.IdSite
20 | {
21 | ///
22 | /// A cryptographic nonce representation for values that cannot be
23 | /// used more than once.
24 | ///
25 | public interface INonce : IResource
26 | {
27 | ///
28 | /// Gets the value of this nonce.
29 | ///
30 | /// The value of this instance.
31 | string Value { get; }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/Expandables/IExpandableCustomData.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.CustomData;
18 |
19 | namespace Stormpath.SDK.Linq.Expandables
20 | {
21 | ///
22 | /// Represents an expandable Custom Data resource.
23 | ///
24 | public interface IExpandableCustomData
25 | {
26 | ///
27 | /// Expands the customData resource.
28 | ///
29 | /// Not applicable.
30 | ICustomData GetCustomData();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/Expandables/IExpandableDirectory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Directory;
18 |
19 | namespace Stormpath.SDK.Linq.Expandables
20 | {
21 | ///
22 | /// Represents an expandable Directory resource.
23 | ///
24 | public interface IExpandableDirectory
25 | {
26 | ///
27 | /// Expands the directory resource.
28 | ///
29 | /// Not applicable.
30 | IDirectory GetDirectory();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/Expandables/IExpandableTenant.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Tenant;
18 |
19 | namespace Stormpath.SDK.Linq.Expandables
20 | {
21 | ///
22 | /// Represents an expandable Tenant resource.
23 | ///
24 | public interface IExpandableTenant
25 | {
26 | ///
27 | /// Expands the tenant resource.
28 | ///
29 | /// Not applicable.
30 | ITenant GetTenant();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/Expandables/IPhoneExpandables.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Account;
18 |
19 | namespace Stormpath.SDK.Linq.Expandables
20 | {
21 | ///
22 | /// Represents resources that can be expanded from a Phone.
23 | ///
24 | public interface IPhoneExpandables
25 | {
26 | ///
27 | /// Expands the account resource.
28 | ///
29 | /// Not applicable.
30 | IAccount Account { get; }
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/Expandables/ISmsFactorExpandables.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Account;
18 |
19 | namespace Stormpath.SDK.Linq.Expandables
20 | {
21 | ///
22 | /// Represents resources that can be expanded from a SMS Factor.
23 | ///
24 | public interface ISmsFactorExpandables : IFactorExpandables
25 | {
26 | ///
27 | /// Expands the phone resource.
28 | ///
29 | /// Not applicable.
30 | IPhone Phone { get; }
31 | }
32 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Linq/IOrderedAsyncQueryable{T}.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Linq
18 | {
19 | ///
20 | /// Represents an ordered collection of items in a data source that can be queried asynchronously.
21 | ///
22 | /// The type of elements in the collection.
23 | public interface IOrderedAsyncQueryable : IAsyncQueryable
24 | {
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Logging/ILogger.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Logging
18 | {
19 | ///
20 | /// A wrapper interface for logger plugins.
21 | ///
22 | public interface ILogger
23 | {
24 | ///
25 | /// Send the specified log entry to the logger.
26 | ///
27 | /// The log entry.
28 | void Log(LogEntry entry);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/AbstractOauthGrantRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | public abstract class AbstractOauthGrantRequest
4 | {
5 | protected AbstractOauthGrantRequest(string grantType)
6 | {
7 | GrantType = grantType;
8 | }
9 |
10 | [SerializedProperty(Name="grant_type")]
11 | internal string GrantType { get; }
12 |
13 | [SerializedProperty(Name="accountStore")]
14 | public string AccountStoreHref { get; set; }
15 |
16 | [SerializedProperty(Name="organizationNameKey")]
17 | public string OrganizationNameKey { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/ClientCredentialsGrantRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | ///
4 | /// A request to exchange a client ID and secret for an OAuth 2.0 access token.
5 | ///
6 | public sealed class ClientCredentialsGrantRequest : AbstractOauthGrantRequest
7 | {
8 | ///
9 | /// Creates a new instance.
10 | ///
11 | public ClientCredentialsGrantRequest()
12 | : base("client_credentials")
13 | {
14 | }
15 |
16 | ///
17 | /// Gets or sets the client ID.
18 | ///
19 | /// The client ID.
20 | [SerializedProperty(Name="client_id")]
21 | public string Id { get; set; }
22 |
23 | ///
24 | /// Gets or sets the client secret.
25 | ///
26 | /// The client secret.
27 | [SerializedProperty(Name="client_secret")]
28 | public string Secret { get; set; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/FactorChallengeRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | ///
4 | /// A request to exchange a Factor Challenge code for an OAuth 2.0 access token.
5 | ///
6 | public sealed class FactorChallengeRequest : AbstractOauthGrantRequest
7 | {
8 | ///
9 | /// Creates a new instance.
10 | ///
11 | public FactorChallengeRequest()
12 | : base("stormpath_factor_challenge")
13 | {
14 | }
15 |
16 | ///
17 | /// Gets or sets the Challenge href.
18 | ///
19 | /// The Challenge href.
20 | [SerializedProperty(Name="challenge")]
21 | public string ChallengeHref { get; set; }
22 |
23 | ///
24 | /// Gets or sets the code.
25 | ///
26 | /// The code.
27 | public string Code { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/IOauthGrantRequest.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Oauth
18 | {
19 | ///
20 | /// Represents an OAuth 2.0 Grant Request.
21 | ///
22 | public interface IOauthGrantRequest
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/PasswordGrantRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | ///
4 | /// A request to exchange a username and password for an OAuth 2.0 access token.
5 | ///
6 | public sealed class PasswordGrantRequest : AbstractOauthGrantRequest
7 | {
8 | ///
9 | /// Creates a new instance.
10 | ///
11 | public PasswordGrantRequest()
12 | : base("password")
13 | {
14 | }
15 |
16 | ///
17 | /// Gets or sets the username.
18 | ///
19 | /// The username.
20 | public string Username { get; set; }
21 |
22 | ///
23 | /// Gets or sets the user's password.
24 | ///
25 | /// The user's password.
26 | public string Password { get; set; }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/RefreshGrantRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | ///
4 | /// A request to exchange a refresh token for an OAuth 2.0 access token.
5 | ///
6 | public sealed class RefreshGrantRequest : AbstractOauthGrantRequest
7 | {
8 | ///
9 | /// Creates a new instance.
10 | ///
11 | public RefreshGrantRequest()
12 | : base("refresh_token")
13 | {
14 | }
15 |
16 | ///
17 | /// Gets or sets the refresh token string.
18 | ///
19 | /// The refresh token string.
20 | [SerializedProperty(Name="refresh_token")]
21 | public string RefreshToken { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Oauth/StormpathTokenGrantRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Oauth
2 | {
3 | ///
4 | /// A request to exchange a Stormpath assertion token for an OAuth 2.0 access token.
5 | ///
6 | public sealed class StormpathTokenGrantRequest : AbstractOauthGrantRequest
7 | {
8 | public StormpathTokenGrantRequest()
9 | : base("stormpath_token")
10 | {
11 | }
12 |
13 | ///
14 | /// Gets or sets the token.
15 | ///
16 | /// The token.
17 | public string Token { get; set; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IAdLdapProvider.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// AD/LDAP Provider Resource.
21 | ///
22 | public interface IAdLdapProvider : IProvider
23 | {
24 | // TODO Agent
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IFacebookAccountRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Facebook-specific interface.
21 | ///
22 | public interface IFacebookAccountRequestBuilder : IProviderAccountRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IFacebookCreateProviderRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Facebook-specific interface.
21 | ///
22 | public interface IFacebookCreateProviderRequestBuilder : ICreateProviderRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IFacebookProviderData.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Facebook-specific Resource.
21 | ///
22 | public interface IFacebookProviderData : IProviderData
23 | {
24 | ///
25 | /// Gets the Facebook authorization code.
26 | ///
27 | /// The Facebook authorization code.
28 | string AccessToken { get; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IFacebookRequestFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Facebook-specific interface.
21 | ///
22 | public interface IFacebookRequestFactory : IProviderRequestFactory
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IGithubAccountRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Github-specific interface.
21 | ///
22 | public interface IGithubAccountRequestBuilder : IProviderAccountRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IGithubCreateProviderRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Github-specific interface.
21 | ///
22 | public interface IGithubCreateProviderRequestBuilder : ICreateProviderRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IGithubProviderData.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Github-specific Resource.
21 | ///
22 | public interface IGithubProviderData : IProviderData
23 | {
24 | ///
25 | /// Gets the Github authorization code.
26 | ///
27 | /// The Github authorization code.
28 | string AccessToken { get; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IGithubRequestFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Github-specific interface.
21 | ///
22 | public interface IGithubRequestFactory : IProviderRequestFactory
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/IGoogleRequestFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// Google-specific interface.
21 | ///
22 | public interface IGoogleRequestFactory : IProviderRequestFactory
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/ILinkedInAccountRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// LinkedIn-specific interface.
21 | ///
22 | public interface ILinkedInAccountRequestBuilder : IProviderAccountRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/ILinkedInCreateProviderRequestBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// LinkedIn-specific interface.
21 | ///
22 | public interface ILinkedInCreateProviderRequestBuilder : ICreateProviderRequestBuilder
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/ILinkedInProviderData.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// LinkedIn-specific Resource.
21 | ///
22 | public interface ILinkedInProviderData : IProviderData
23 | {
24 | ///
25 | /// Gets the LinkedIn authorization code.
26 | ///
27 | /// The LinkedIn authorization code.
28 | string AccessToken { get; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Provider/ILinkedInRequestFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Provider
18 | {
19 | ///
20 | /// LinkedIn-specific interface.
21 | ///
22 | public interface ILinkedInRequestFactory : IProviderRequestFactory
23 | {
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Resource/AbstractEnumProperty.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Shared;
2 |
3 | namespace Stormpath.SDK.Resource
4 | {
5 | ///
6 | /// Defines a resource property that is a string-based enumeration.
7 | ///
8 | public abstract class AbstractEnumProperty : StringEnumeration
9 | {
10 | ///
11 | /// Creates a new instance.
12 | ///
13 | /// The value to use.
14 | protected AbstractEnumProperty(string value)
15 | : base(value)
16 | {
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Resource/ICreationOptions.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Resource
18 | {
19 | ///
20 | /// Base interface for creation request options objects.
21 | ///
22 | public interface ICreationOptions
23 | {
24 | ///
25 | /// Retrieves the query string arguments represented by this option configuration.
26 | ///
27 | /// The query string equivalent of this options instance.
28 | string GetQueryString();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Resource/IRetrievalOptions{T}.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Resource
18 | {
19 | ///
20 | /// Base interface for retrieval request options objects.
21 | ///
22 | /// The resource type being retrieved.
23 | public interface IRetrievalOptions : ICreationOptions
24 | {
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Saml/ISsoInitiationEndpoint.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Resource;
18 |
19 | namespace Stormpath.SDK.Saml
20 | {
21 | ///
22 | /// Represents an endpoint that can initiate SAML Single Sign-On.
23 | ///
24 | public interface ISsoInitiationEndpoint : IResource
25 | {
26 | }
27 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Serialization/ISerializerBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Serialization
18 | {
19 | ///
20 | /// Builder pattern for instances.
21 | ///
22 | public interface ISerializerBuilder
23 | {
24 | ///
25 | /// Builds a new from the current builder state.
26 | ///
27 | /// A new instance.
28 | IJsonSerializer Build();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/SerializedPropertyAttribute.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Stormpath.SDK
4 | {
5 | ///
6 | /// Allows customization of serialized properties.
7 | ///
8 | /// A thin replacement for DataMemberAttribute. This may be replaced in a future version.
9 | /// TODO: Move this to Core/Impl
10 | [AttributeUsage(AttributeTargets.Property)]
11 | public sealed class SerializedPropertyAttribute : Attribute
12 | {
13 | public string Name { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Abstractions/Stormpath.SDK.Abstractions.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 058befd7-b2d8-424a-acd1-686b529473fa
10 | Stormpath.SDK
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Cache.Redis/Constants.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.Serialization.Formatters;
2 | using Newtonsoft.Json;
3 |
4 | namespace Stormpath.SDK.Redis
5 | {
6 | internal static class Constants
7 | {
8 | public static readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
9 | {
10 | DateParseHandling = DateParseHandling.DateTimeOffset,
11 | DateTimeZoneHandling = DateTimeZoneHandling.Utc,
12 | TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple,
13 | TypeNameHandling = TypeNameHandling.All
14 | };
15 | }
16 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Cache.Redis/Stormpath.SDK.Cache.Redis.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | f229bb90-7233-4fa6-bcab-8e369a0b89f9
10 | Stormpath.SDK.Redis
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/ChallengeSubmitData.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Impl.Account
2 | {
3 | internal sealed class ChallengeSubmitData
4 | {
5 | public string Code { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/DefaultChallenge.Sync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | internal sealed partial class DefaultChallenge
6 | {
7 | public IAccount GetAccount()
8 | => GetInternalSyncDataStore().GetResource(GetLinkProperty(AccountPropertyName).Href);
9 |
10 | public IFactor GetFactor()
11 | => GetInternalSyncDataStore().GetResource(
12 | GetLinkProperty(FactorPropertyName).Href);
13 |
14 | public IChallenge Submit(string code)
15 | => GetInternalSyncDataStore().Create(
16 | InternalHref,
17 | new ChallengeSubmitData
18 | {
19 | Code = code
20 | });
21 |
22 | public bool Validate(string code)
23 | {
24 | Submit(code);
25 | return Status == ChallengeStatus.Success;
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/DefaultFactor.Sync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | internal partial class DefaultFactor
6 | {
7 | public IAccount GetAccount()
8 | => GetInternalSyncDataStore().GetResource(
9 | GetLinkProperty(AccountPropertyName).Href);
10 |
11 | public IChallenge GetMostRecentChallenge()
12 | {
13 | var link = GetLinkProperty(MostRecentChallengePropertyName);
14 |
15 | return string.IsNullOrEmpty(link?.Href)
16 | ? null
17 | : GetInternalSyncDataStore().GetResource(link.Href);
18 | }
19 |
20 | public IFactor Save() => Save();
21 |
22 | public bool Delete() => GetInternalSyncDataStore().Delete(this);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/DefaultSmsFactor.cs:
--------------------------------------------------------------------------------
1 | using System.Threading;
2 | using System.Threading.Tasks;
3 | using Stormpath.SDK.Account;
4 | using Stormpath.SDK.Impl.Resource;
5 |
6 | namespace Stormpath.SDK.Impl.Account
7 | {
8 | internal sealed class DefaultSmsFactor : DefaultFactor, ISmsFactor, ISmsFactorSync
9 | {
10 | private const string PhonePropertyName = "phone";
11 |
12 | public DefaultSmsFactor(ResourceData data)
13 | : base(data)
14 | {
15 | }
16 |
17 | public Task GetPhoneAsync(CancellationToken cancellationToken)
18 | => GetInternalAsyncDataStore().GetResourceAsync(
19 | GetLinkProperty(PhonePropertyName).Href,
20 | cancellationToken);
21 |
22 | public IPhone GetPhone()
23 | => GetInternalSyncDataStore().GetResource(
24 | GetLinkProperty(PhonePropertyName).Href);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/GoogleAuthenticatorFactorCreationData.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | internal sealed class GoogleAuthenticatorFactorCreationData
6 | {
7 | public string Type { get; } = "google-authenticator";
8 |
9 | public string AccountName { get; set; }
10 |
11 | public string Issuer { get; set; }
12 |
13 | public FactorStatus Status { get; set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IAccountCreationActionsInternal.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Impl.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.Account
21 | {
22 | [Obsolete("Remove when refactoring for 1.0")]
23 | internal interface IAccountCreationActionsInternal : IHasAsyncDataStoreInternal
24 | {
25 | IEmbeddedProperty Accounts { get; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IChallengeCollectionSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | ///
6 | /// Represents the synchronous actions that correspond to the default asynchronous actions
7 | /// available on the Challenge collection.
8 | ///
9 | internal interface IChallengeCollectionSync
10 | {
11 | ///
12 | /// Synchronous counterpart to .
13 | ///
14 | /// The newly-created challenge.
15 | IChallenge Add();
16 |
17 | ///
18 | /// Synchronous counterpart to .
19 | ///
20 | /// The challenge options.
21 | /// The newly-created challenge.
22 | IChallenge Add(ChallengeCreationOptions options);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IFactorCollectionSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | ///
6 | /// Represents the synchronous actions that correspond to the default asynchronous actions
7 | /// available on .
8 | ///
9 | internal interface IFactorCollectionSync
10 | {
11 | ///
12 | /// Adds a new SMS Factor.
13 | ///
14 | /// The options for the new factor.
15 | /// The new Factor.
16 | ISmsFactor Add(SmsFactorCreationOptions options);
17 |
18 | ///
19 | /// Adds a new Google Authenticator (TOTP-based) Factor.
20 | ///
21 | /// The options for the new factor.
22 | /// The new Factor.
23 | IGoogleAuthenticatorFactor Add(GoogleAuthenticatorFactorCreationOptions options);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IFactorSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 | using Stormpath.SDK.Impl.Resource;
3 |
4 | namespace Stormpath.SDK.Impl.Account
5 | {
6 | ///
7 | /// Represents the synchronous actions that correspond to the default asynchronous actions
8 | /// available on the Factor resource.
9 | ///
10 | internal interface IFactorSync :
11 | ISaveableSync,
12 | IDeletableSync
13 | {
14 | ///
15 | /// Synchronous counterpart to .
16 | ///
17 | /// The account.
18 | IAccount GetAccount();
19 |
20 | ///
21 | /// Synchronous counterpart to .
22 | ///
23 | /// The most recent challenge, or .
24 | IChallenge GetMostRecentChallenge();
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IPhoneCollectionSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | internal interface IPhoneCollectionSync
6 | {
7 | ///
8 | /// Synchronous counterpart to
9 | ///
10 | /// The phone number.
11 | /// The new Phone.
12 | IPhone Add(string number);
13 |
14 | ///
15 | /// Synchronous counterpart to
16 | ///
17 | /// The phone creation options.
18 | /// The new Phone.
19 | IPhone Add(PhoneCreationOptions options);
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/IPhoneSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 | using Stormpath.SDK.Impl.Resource;
3 |
4 | namespace Stormpath.SDK.Impl.Account
5 | {
6 | internal interface IPhoneSync :
7 | IDeletableSync,
8 | ISaveableSync
9 | {
10 | ///
11 | /// Synchronous counterpart to
12 | ///
13 | /// The account.
14 | IAccount GetAccount();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/ISmsFactorSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | ///
6 | /// Represents the synchronous actions that correspond to the default asynchronous actions
7 | /// available on the SMS Factor resource.
8 | ///
9 | internal interface ISmsFactorSync
10 | {
11 | ///
12 | /// Synchronous counterpart to
13 | ///
14 | /// The Phone associated with this factor.
15 | IPhone GetPhone();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Account/SmsFactorCreationData.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 |
3 | namespace Stormpath.SDK.Impl.Account
4 | {
5 | internal sealed class SmsFactorCreationData
6 | {
7 | public string Type { get; } = "SMS";
8 |
9 | public SmsFactorCreationPhoneData Phone { get; set; }
10 |
11 | public FactorStatus Status { get; set; }
12 | }
13 |
14 | internal sealed class SmsFactorCreationPhoneData
15 | {
16 | public string Number { get; set; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/AccountStore/IAccountStoreSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Tenant;
18 |
19 | namespace Stormpath.SDK.Impl.AccountStore
20 | {
21 | ///
22 | /// Represents the synchronous actions that correspond to the default asynchronous actions
23 | /// available on .
24 | ///
25 | internal interface IAccountStoreSync : IHasTenantSync
26 | {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplication.EmailVerification.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Threading;
18 | using System.Threading.Tasks;
19 | using Stormpath.SDK.Application;
20 |
21 | namespace Stormpath.SDK.Impl.Application
22 | {
23 | internal sealed partial class DefaultApplication
24 | {
25 | Task IApplication.SendVerificationEmailAsync(string usernameOrEmail, CancellationToken cancellationToken)
26 | => this.AsInterface.SendVerificationEmailAsync(request => request.Login = usernameOrEmail, cancellationToken);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebChangePasswordConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebChangePasswordConfiguration : IApplicationWebChangePasswordConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebForgotPasswordConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebForgotPasswordConfiguration : IApplicationWebForgotPasswordConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebLoginConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebLoginConfiguration : IApplicationWebLoginConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebMeConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebMeConfiguration : IApplicationWebMeConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 |
9 | public IApplicationWebMeExpandConfiguration Expand { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebMeExpandConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebMeExpandConfiguration : IApplicationWebMeExpandConfiguration
6 | {
7 | public bool? ApiKeys { get; set; }
8 | public bool? Applications { get; set; }
9 | public bool? CustomData { get; set; }
10 | public bool? Directory { get; set; }
11 | public bool? GroupMemberships { get; set; }
12 | public bool? Groups { get; set; }
13 | public bool? ProviderData { get; set; }
14 | public bool? Tenant { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebOauth2Configuration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebOauth2Configuration : IApplicationWebOauth2Configuration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebRegisterConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebRegisterConfiguration : IApplicationWebRegisterConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/DefaultApplicationWebVerifyEmailConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Application;
2 |
3 | namespace Stormpath.SDK.Impl.Application
4 | {
5 | internal sealed class DefaultApplicationWebVerifyEmailConfiguration : IApplicationWebVerifyEmailConfiguration
6 | {
7 | public bool? Enabled { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/IApplicationAccountStoreMappingSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Application;
18 | using Stormpath.SDK.Impl.AccountStore;
19 |
20 | namespace Stormpath.SDK.Impl.Application
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on .
25 | ///
26 | internal interface IApplicationAccountStoreMappingSync : IAccountStoreMappingSync
27 | {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Application/IApplicationWebConfigurationSync.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Api;
2 | using Stormpath.SDK.Application;
3 |
4 | namespace Stormpath.SDK.Impl.Application
5 | {
6 | internal interface IApplicationWebConfigurationSync
7 | {
8 | IApiKey GetSigningApiKey();
9 |
10 | IApplication GetApplication();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Auth/IHasOrganizationNameKey.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Auth
18 | {
19 | ///
20 | /// Represents an Organization nameKey.
21 | ///
22 | internal interface IHasOrganizationNameKey
23 | {
24 | ///
25 | /// Gets the Organization nameKey value.
26 | ///
27 | /// The nameKey.
28 | string OrganizationNameKey { get; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Cache/DefaultCacheProviderFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Cache;
18 |
19 | namespace Stormpath.SDK.Impl.Cache
20 | {
21 | internal sealed class DefaultCacheProviderFactory : ICacheProviderFactory
22 | {
23 | ICacheProvider ICacheProviderFactory.DisabledCache()
24 | => new NullCacheProvider();
25 |
26 | ICacheProviderBuilder ICacheProviderFactory.InMemoryCache()
27 | => new InMemoryCacheProviderBuilder();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Cache/InMemoryCacheProviderBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Cache;
18 |
19 | namespace Stormpath.SDK.Impl.Cache
20 | {
21 | internal sealed class InMemoryCacheProviderBuilder : AbstractCacheProviderBuilder
22 | {
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Cache/Polyfill.Microsoft.Extensions.Caching.Memory/CacheItemPriority.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 | // Contains code modified from aspnet/Caching. Copyright (c) .NET Foundation. All rights reserved.
17 | //
18 |
19 | #if NET45 || NET451
20 | namespace Stormpath.SDK.Impl.Cache.Polyfill.Microsoft.Extensions.Caching.Memory
21 | {
22 | internal enum CacheItemPriority
23 | {
24 | Low,
25 | Normal,
26 | High,
27 | NeverRemove,
28 | }
29 | }
30 | #endif
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Cache/Polyfill.Microsoft.Extensions.Caching.Memory/MemoryCacheOptions.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 | // Contains code modified from aspnet/Caching. Copyright (c) .NET Foundation. All rights reserved.
17 | //
18 |
19 | #if NET45 || NET451
20 | using System;
21 |
22 | namespace Stormpath.SDK.Impl.Cache.Polyfill.Microsoft.Extensions.Caching.Memory
23 | {
24 | internal class MemoryCacheOptions
25 | {
26 | public bool CompactOnMemoryPressure { get; set; } = true;
27 |
28 | public TimeSpan ExpirationScanFrequency { get; set; } = TimeSpan.FromMinutes(1);
29 | }
30 | }
31 | #endif
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Client/DefaultClient.Jwt.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Client;
18 | using Stormpath.SDK.Impl.Jwt;
19 | using Stormpath.SDK.Jwt;
20 |
21 | namespace Stormpath.SDK.Impl.Client
22 | {
23 | internal sealed partial class DefaultClient
24 | {
25 | IJwtBuilder IClient.NewJwtBuilder()
26 | => new DefaultJwtBuilder(this.Serializer);
27 |
28 | IJwtParser IClient.NewJwtParser()
29 | => new DefaultJwtParser(this.Serializer);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Client/IUserAgentBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Client
18 | {
19 | ///
20 | /// Represents an object that can generate a User-Agent header based on the current environment.
21 | ///
22 | internal interface IUserAgentBuilder
23 | {
24 | ///
25 | /// Gets the User-Agent header for the current environment.
26 | ///
27 | /// A User-Agent string.
28 | string GetUserAgent();
29 | }
30 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Client/ShimAdditionalClientApiKeySettings.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.IO;
18 |
19 | namespace Stormpath.SDK.Impl.Client
20 | {
21 | internal sealed class ShimAdditionalClientApiKeySettings
22 | {
23 | public string IdPropertyName { get; set; }
24 |
25 | public string SecretPropertyName { get; set; }
26 |
27 | public Stream InputStream { get; set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/CustomData/ICustomDataSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.CustomData;
18 | using Stormpath.SDK.Impl.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.CustomData
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on Custom Data.
25 | ///
26 | internal interface ICustomDataSync : ISaveableSync, IDeletableSync
27 | {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Directory/IAccountCreationPolicySync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Directory;
18 | using Stormpath.SDK.Impl.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.Directory
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on an Account Creation Policy.
25 | ///
26 | internal interface IAccountCreationPolicySync : ISaveableSync
27 | {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Directory/IPasswordStrengthPolicySync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Directory;
18 | using Stormpath.SDK.Impl.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.Directory
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on an Password Strength Policy.
25 | ///
26 | internal interface IPasswordStrengthPolicySync : ISaveableSync
27 | {
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Group/DefaultGroup.Resources.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Threading;
18 | using System.Threading.Tasks;
19 | using Stormpath.SDK.Directory;
20 | using Stormpath.SDK.Group;
21 |
22 | namespace Stormpath.SDK.Impl.Group
23 | {
24 | internal sealed partial class DefaultGroup
25 | {
26 | Task IGroup.GetDirectoryAsync(CancellationToken cancellationToken)
27 | => this.GetInternalAsyncDataStore().GetResourceAsync(this.Directory.Href, cancellationToken);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Group/DefaultGroup.ResourcesSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Directory;
18 |
19 | namespace Stormpath.SDK.Impl.Group
20 | {
21 | internal sealed partial class DefaultGroup
22 | {
23 | IDirectory IGroupSync.GetDirectory()
24 | => this.GetInternalSyncDataStore().GetResource(this.Directory.Href);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Group/IGroupCreationActionsInternal.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Impl.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.Group
21 | {
22 | [Obsolete("Remove when refactoring for 1.0")]
23 | internal interface IGroupCreationActionsInternal : IHasAsyncDataStoreInternal
24 | {
25 | IEmbeddedProperty Groups { get; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Http/DefaultHttpClientFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Http;
18 |
19 | namespace Stormpath.SDK.Impl.Http
20 | {
21 | internal sealed class DefaultHttpClientFactory : IHttpClientFactory
22 | {
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/IdSite/DefaultIdSiteJtiProvider.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 |
19 | namespace Stormpath.SDK.Impl.IdSite
20 | {
21 | internal sealed class DefaultIdSiteJtiProvider : IIdSiteJtiProvider
22 | {
23 | string IIdSiteJtiProvider.NewJti() => Guid.NewGuid().ToString();
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/IdSite/IIdSiteJtiProvider.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.IdSite
18 | {
19 | ///
20 | /// Represents a JWT ID (jti) provider used for ID Site.
21 | ///
22 | ///
23 | /// This is abstracted so it can be injectable during testing.
24 | ///
25 | internal interface IIdSiteJtiProvider
26 | {
27 | ///
28 | /// Generates a new JWT ID (jti) string.
29 | ///
30 | /// A JWT ID string.
31 | string NewJti();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Jwt/JwtHeaderParameters.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Jwt
18 | {
19 | internal static class JwtHeaderParameters
20 | {
21 | public static readonly string Algorithm = "alg";
22 | public static readonly string Type = "typ";
23 | public static readonly string KeyId = "kid";
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Jwt/StormpathClaims.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Impl.Jwt
2 | {
3 | internal class StormpathClaims
4 | {
5 | public const string TokenType = "stt";
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/AnyResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
18 | {
19 | internal class AnyResultOperator : ResultOperatorExpression
20 | {
21 | public AnyResultOperator()
22 | {
23 | this.ResultType = ResultOperator.Any;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/CountResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
18 | {
19 | internal class CountResultOperator : ResultOperatorExpression
20 | {
21 | public CountResultOperator()
22 | {
23 | this.ResultType = ResultOperator.Count;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/FirstResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
18 | {
19 | internal class FirstResultOperator : ResultOperatorExpression
20 | {
21 | public FirstResultOperator(bool defaultIfEmpty)
22 | {
23 | this.ResultType = ResultOperator.First;
24 | this.DefaultIfEmpty = defaultIfEmpty;
25 | }
26 |
27 | public bool DefaultIfEmpty { get; private set; }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/LongCountResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
18 | {
19 | internal class LongCountResultOperator : ResultOperatorExpression
20 | {
21 | public LongCountResultOperator()
22 | {
23 | this.ResultType = ResultOperator.LongCount;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/ResultOperatorExpression.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Linq.Expressions;
18 |
19 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
20 | {
21 | internal abstract class ResultOperatorExpression : ParsedExpression
22 | {
23 | public ResultOperator ResultType { get; protected set; }
24 |
25 | protected internal override Expression Accept(CompilingExpressionVisitor visitor)
26 | {
27 | return visitor.VisitResultOperator(this);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/ResultOperators/SingleResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions.ResultOperators
18 | {
19 | internal class SingleResultOperator : ResultOperatorExpression
20 | {
21 | public SingleResultOperator(bool defaultIfEmpty)
22 | {
23 | this.ResultType = ResultOperator.Single;
24 | this.DefaultIfEmpty = defaultIfEmpty;
25 | }
26 |
27 | public bool DefaultIfEmpty { get; private set; }
28 | }
29 | }
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/SkipExpression.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Linq.Expressions;
18 |
19 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions
20 | {
21 | internal class SkipExpression : ParsedExpression
22 | {
23 | public SkipExpression(int value)
24 | {
25 | this.Value = value;
26 | }
27 |
28 | public int Value { get; private set; }
29 |
30 | protected internal override Expression Accept(CompilingExpressionVisitor visitor)
31 | {
32 | return visitor.VisitSkip(this);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/Expressions/TakeExpression.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Linq.Expressions;
18 |
19 | namespace Stormpath.SDK.Impl.Linq.Parsing.Expressions
20 | {
21 | internal class TakeExpression : ParsedExpression
22 | {
23 | public TakeExpression(int value)
24 | {
25 | this.Value = value;
26 | }
27 |
28 | public int Value { get; private set; }
29 |
30 | protected internal override Expression Accept(CompilingExpressionVisitor visitor)
31 | {
32 | return visitor.VisitTake(this);
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/NodeReducer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Linq.Expressions;
5 | using System.Threading.Tasks;
6 |
7 | namespace Stormpath.SDK.Impl.Linq.Parsing
8 | {
9 | internal static class NodeReducer
10 | {
11 | ///
12 | /// Removes any Convert() calls wrapping a node.
13 | ///
14 | /// VB.NET has a tendency to add tons of Convert() calls everywhere.
15 | /// The node.
16 | /// The unwrapped node.
17 | public static Expression Reduce(Expression node)
18 | {
19 | while (node.NodeType == ExpressionType.Convert)
20 | {
21 | node = (node as UnaryExpression).Operand;
22 | }
23 |
24 | return node;
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/OrderByDirection.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing
18 | {
19 | internal enum OrderByDirection
20 | {
21 | Ascending,
22 | Descending
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/RangedTerms/RangedWhereTermWorkingModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing.RangedTerms
18 | {
19 | internal class RangedWhereTermWorkingModel
20 | where T : struct
21 | {
22 | public string FieldName { get; set; }
23 |
24 | public bool? StartInclusive { get; set; }
25 |
26 | public T? Start { get; set; }
27 |
28 | public bool? EndInclusive { get; set; }
29 |
30 | public T? End { get; set; }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/ResultOperator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing
18 | {
19 | internal enum ResultOperator
20 | {
21 | Any,
22 | Count,
23 | LongCount,
24 | First,
25 | Single,
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/Parsing/WhereComparison.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.Parsing
18 | {
19 | internal enum WhereComparison
20 | {
21 | Equal,
22 | StartsWith,
23 | EndsWith,
24 | Contains,
25 | GreaterThan,
26 | GreaterThanOrEqual,
27 | LessThan,
28 | LessThanOrEqual,
29 | AndAlso
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/QueryModel/ExecutionPlanModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.QueryModel
18 | {
19 | internal sealed class ExecutionPlanModel
20 | {
21 | public long? MaxItems { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/QueryModel/ExpandTerm.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Linq.QueryModel
18 | {
19 | internal sealed class ExpandTerm
20 | {
21 | public string PropertyName { get; set; }
22 |
23 | public int? Offset { get; set; }
24 |
25 | public int? Limit { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/QueryModel/OrderByTerm.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Linq.Parsing;
18 |
19 | namespace Stormpath.SDK.Impl.Linq.QueryModel
20 | {
21 | internal sealed class OrderByTerm
22 | {
23 | public string FieldName { get; set; }
24 |
25 | public OrderByDirection Direction { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Linq/QueryModel/WhereTerm.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Impl.Linq.Parsing;
19 |
20 | namespace Stormpath.SDK.Impl.Linq.QueryModel
21 | {
22 | internal sealed class WhereTerm
23 | {
24 | public string FieldName { get; set; }
25 |
26 | public object Value { get; set; }
27 |
28 | public Type Type { get; set; }
29 |
30 | public WhereComparison Comparison { get; set; }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Logging/NullLogger.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Logging;
18 |
19 | namespace Stormpath.SDK.Impl.Logging
20 | {
21 | internal sealed class NullLogger : ILogger
22 | {
23 | void ILogger.Log(LogEntry entry)
24 | {
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/DefaultJwtAuthenticationRequest.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Oauth;
18 |
19 | namespace Stormpath.SDK.Impl.Oauth
20 | {
21 | internal sealed class DefaultJwtAuthenticationRequest : IJwtAuthenticationRequest
22 | {
23 | private readonly string jwt;
24 |
25 | public DefaultJwtAuthenticationRequest(string jwt)
26 | {
27 | this.jwt = jwt;
28 | }
29 |
30 | string IJwtAuthenticationRequest.Jwt
31 | => this.jwt;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/DefaultOauthPolicy.Sync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Application;
18 | using Stormpath.SDK.Impl.Resource;
19 | using Stormpath.SDK.Oauth;
20 |
21 | namespace Stormpath.SDK.Impl.Oauth
22 | {
23 | internal sealed partial class DefaultOauthPolicy
24 | {
25 | IApplication IOauthPolicySync.GetApplication()
26 | => this.GetInternalSyncDataStore().GetResource(this.Application.Href);
27 |
28 | IOauthPolicy ISaveableSync.Save()
29 | => this.Save();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/DefaultRefreshGrantRequest.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Oauth;
19 |
20 | namespace Stormpath.SDK.Impl.Oauth
21 | {
22 | [Obsolete("Remove in 1.0")]
23 | internal sealed class DefaultRefreshGrantRequest : IRefreshGrantRequest
24 | {
25 | private readonly string refreshToken;
26 |
27 | public DefaultRefreshGrantRequest(string refreshToken)
28 | {
29 | this.refreshToken = refreshToken;
30 | }
31 |
32 | string IRefreshGrantRequest.RefreshToken => this.refreshToken;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/IGrantAuthenticationToken.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Oauth;
18 | using Stormpath.SDK.Resource;
19 |
20 | namespace Stormpath.SDK.Impl.Oauth
21 | {
22 | ///
23 | /// Represents the result of a Grant Authentication operation.
24 | ///
25 | internal interface IGrantAuthenticationToken : IResource, IOauthGrantAuthenticationResult
26 | {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/IJwtAuthenticatorSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Oauth;
19 |
20 | namespace Stormpath.SDK.Impl.Oauth
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on .
25 | ///
26 | [Obsolete("Remove in 1.0")]
27 | internal interface IJwtAuthenticatorSync : IOauthAuthenticatorSync
28 | {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Oauth/IRefreshGrantAuthenticatorSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Oauth;
19 |
20 | namespace Stormpath.SDK.Impl.Oauth
21 | {
22 | ///
23 | /// Represents the synchronous actions that correspond to the default asynchronous actions
24 | /// available on .
25 | ///
26 | [Obsolete("Remove in 1.0")]
27 | internal interface IRefreshGrantAuthenticatorSync : IOauthAuthenticatorSync
28 | {
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Provider/DefaultAdLdapProvider.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Impl.Resource;
2 | using Stormpath.SDK.Provider;
3 |
4 | namespace Stormpath.SDK.Impl.Provider
5 | {
6 | internal sealed class DefaultAdLdapProvider : AbstractProvider, IAdLdapProvider
7 | {
8 | public DefaultAdLdapProvider(ResourceData data)
9 | : base(data)
10 | {
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Provider/DefaultProvider.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Resource;
18 |
19 | namespace Stormpath.SDK.Impl.Provider
20 | {
21 | ///
22 | /// Represents Stormpath as a Provider. For example, the provider of a Stormpath-owned directory is "stormpath".
23 | ///
24 | internal sealed class DefaultProvider : AbstractProvider
25 | {
26 | public DefaultProvider(ResourceData data)
27 | : base(data)
28 | {
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Provider/DefaultProviderData.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Resource;
18 | using Stormpath.SDK.Provider;
19 |
20 | namespace Stormpath.SDK.Impl.Provider
21 | {
22 | internal sealed class DefaultProviderData : AbstractProviderData, IProviderData
23 | {
24 | public DefaultProviderData(ResourceData data)
25 | : base(data)
26 | {
27 | }
28 |
29 | protected override string ConcreteProviderId
30 | => ProviderType.Stormpath;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Resource/DefaultCreationOptions.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using Stormpath.SDK.Resource;
4 |
5 | namespace Stormpath.SDK.Impl.Resource
6 | {
7 | internal sealed class DefaultCreationOptions : ICreationOptions
8 | {
9 | private readonly KeyValuePair[] _parameters;
10 |
11 | public DefaultCreationOptions(IEnumerable> parameters)
12 | {
13 | _parameters = parameters?.ToArray() ?? new KeyValuePair[0];
14 | }
15 |
16 | public string GetQueryString()
17 | {
18 | if (!_parameters.Any())
19 | {
20 | return null;
21 | }
22 |
23 | return string.Join("&", _parameters.Select(kvp => $"{kvp.Key}={kvp.Value}"));
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Resource/IDeletableSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Resource
18 | {
19 | ///
20 | /// Represents resources that can be deleted synchronously.
21 | ///
22 | internal interface IDeletableSync
23 | {
24 | ///
25 | /// Synchronous counterpart to .
26 | ///
27 | /// Whether the delete operation succeeded.
28 | bool Delete();
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Resource/IEmbeddedProperty.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Resource
18 | {
19 | ///
20 | /// Represents a property that contains a link to another property.
21 | ///
22 | internal interface IEmbeddedProperty
23 | {
24 | ///
25 | /// Gets the URL of linked property.
26 | ///
27 | /// The URL of the linked property.
28 | string Href { get; }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Resource/IHasAsyncDataStoreInternal.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 | using Stormpath.SDK.Impl.DataStore;
19 |
20 | namespace Stormpath.SDK.Impl.Resource
21 | {
22 | [Obsolete("Remove when refactoring for 1.0")]
23 | internal interface IHasAsyncDataStoreInternal
24 | {
25 | IInternalAsyncDataStore GetInternalAsyncDataStore();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Resource/ILinkable.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Resource
18 | {
19 | ///
20 | /// Represents a resource proxy that can be linked to different underlying data.
21 | ///
22 | internal interface ILinkable
23 | {
24 | ///
25 | /// Updates the underlying data reference this resource proxy points to.
26 | ///
27 | /// The resource data.
28 | void Link(ResourceData data);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Saml/DefaultSsoInitiationEndpoint.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Resource;
18 | using Stormpath.SDK.Saml;
19 |
20 | namespace Stormpath.SDK.Impl.Saml
21 | {
22 | internal sealed class DefaultSsoInitiationEndpoint : AbstractResource, ISsoInitiationEndpoint
23 | {
24 | public DefaultSsoInitiationEndpoint(ResourceData data)
25 | : base(data)
26 | {
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Saml/SamlClaims.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Impl.Saml
18 | {
19 | internal static class SamlClaims
20 | {
21 | public static readonly string AccountStoreHref = "ash";
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Serialization/DefaultSerializerFactory.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Serialization;
18 |
19 | namespace Stormpath.SDK.Impl.Serialization
20 | {
21 | internal sealed class DefaultSerializerFactory : ISerializerFactory
22 | {
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Tenant/ITenantSync.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Resource;
18 |
19 | namespace Stormpath.SDK.Impl.Tenant
20 | {
21 | ///
22 | /// Represents the synchronous actions that correspond to the default asynchronous actions
23 | /// available on Tenant.
24 | ///
25 | internal interface ITenantSync : IExtendableSync, ITenantActionsSync
26 | {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Utility/DefaultClock.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 |
19 | namespace Stormpath.SDK.Impl.Utility
20 | {
21 | internal sealed class DefaultClock : IClock
22 | {
23 | DateTimeOffset IClock.Now => DateTimeOffset.Now;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Impl/Utility/PocoTypeLookup.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Stormpath.SDK.Application;
4 | using Stormpath.SDK.Impl.Application;
5 |
6 | namespace Stormpath.SDK.Impl.Utility
7 | {
8 | internal static class PocoTypeLookup
9 | {
10 | // TODO: This needs to be removed when refactoring how resources work
11 | private static readonly IReadOnlyDictionary ConcreteLookup = new Dictionary()
12 | {
13 | [typeof(IApplicationWebMeExpandConfiguration)] = typeof(DefaultApplicationWebMeExpandConfiguration),
14 | };
15 |
16 | public static Type GetConcreteType(Type interfaceType)
17 | {
18 | Type concrete;
19 | ConcreteLookup.TryGetValue(interfaceType, out concrete);
20 |
21 | return concrete;
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Runtime.CompilerServices;
18 |
19 | [assembly: InternalsVisibleTo("Stormpath.SDK.Tests")]
20 | [assembly: InternalsVisibleTo("Stormpath.SDK.Tests.Unit")]
21 | [assembly: InternalsVisibleTo("Stormpath.SDK.Tests.Common")]
22 | [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
23 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Stormpath.SDK.Core.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | e248629a-eca1-487d-8c0e-ef29ff74ed5e
10 | Stormpath.SDK
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Sync/SyncAccountStoreExtensions.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 |
18 | namespace Stormpath.SDK.Sync
19 | {
20 | ///
21 | /// Provides synchronous access to the methods available on Account Store.
22 | ///
23 | public static class SyncAccountStoreExtensions
24 | {
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Sync/SyncApplicationWebConfigExtensions.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Api;
2 | using Stormpath.SDK.Application;
3 | using Stormpath.SDK.Impl.Application;
4 |
5 | namespace Stormpath.SDK.Sync
6 | {
7 | public static class SyncApplicationWebConfigExtensions
8 | {
9 | public static IApiKey GetSigningApiKey(this IApplicationWebConfiguration appWebConfig)
10 | => (appWebConfig as IApplicationWebConfigurationSync).GetSigningApiKey();
11 |
12 | public static IApplication GetApplication(this IApplicationWebConfiguration appWebConfig)
13 | => (appWebConfig as IApplicationWebConfigurationSync).GetApplication();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Sync/SyncFactorExtensions.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 | using Stormpath.SDK.Impl.Account;
3 |
4 | namespace Stormpath.SDK.Sync
5 | {
6 | ///
7 | /// Provides synchronous access to the methods available on the Factor resource.
8 | ///
9 | public static class SyncFactorExtensions
10 | {
11 | ///
12 | /// Synchronously gets the Account associated with this factor.
13 | ///
14 | /// The factor.
15 | /// The account.
16 | public static IAccount GetAccount(this IFactor factor)
17 | => (factor as IFactorSync).GetAccount();
18 |
19 | ///
20 | /// Synchronously gets the most recent Challenge against this factor, if any.
21 | ///
22 | /// The factor.
23 | /// The most recent challenge, or .
24 | public static IChallenge GetMostRecentChallenge(this IFactor factor)
25 | => (factor as IFactorSync).GetMostRecentChallenge();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Sync/SyncPhoneExtensions.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 | using Stormpath.SDK.Impl.Account;
3 |
4 | namespace Stormpath.SDK.Sync
5 | {
6 | ///
7 | /// Provides synchronous access to the methods available on the Phone resource.
8 | ///
9 | public static class SyncPhoneExtensions
10 | {
11 | ///
12 | /// Synchronously gets the Account associated with this phone.
13 | ///
14 | /// The phone.
15 | /// The account.
16 | public static IAccount GetAccount(this IPhone phone)
17 | => (phone as IPhoneSync).GetAccount();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Core/Sync/SyncSmsFactorExtensions.cs:
--------------------------------------------------------------------------------
1 | using Stormpath.SDK.Account;
2 | using Stormpath.SDK.Impl.Account;
3 |
4 | namespace Stormpath.SDK.Sync
5 | {
6 | ///
7 | /// Provides synchronous access to the methods available on the SMS Factor resource.
8 | ///
9 | public static class SyncSmsFactorExtensions
10 | {
11 | ///
12 | /// Synchronously gets the Phone associated with this factor.
13 | ///
14 | /// The factor.
15 | /// The Phone associated with this factor.
16 | public static IPhone GetPhone(this ISmsFactor smsFactor)
17 | => (smsFactor as ISmsFactorSync).GetPhone();
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Http.SystemNetHttpClient/Stormpath.SDK.Http.SystemNetHttpClient.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | d56c4681-b4a3-49c9-b32d-eab3bc874666
10 | Stormpath.SDK.Http.SystemNetHttpClient
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.Http.SystemNetHttpClient/SystemNetHttpClientFactoryExtensions.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Http
18 | {
19 | ///
20 | /// Provides access to the SystemNetHttpClient plugin by plugging into .
21 | ///
22 | public static class SystemNetHttpClientFactoryExtensions
23 | {
24 | public static IHttpClientBuilder SystemNetHttpClient(this IHttpClientFactory factory)
25 | => new AbstractHttpClientBuilder();
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.JsonNetSerializer/Stormpath.SDK.JsonNetSerializer.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 0e9a923b-66c2-46ec-9db1-1f7da2367679
10 | Stormpath.SDK.JsonNetSerializer
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/Stormpath.SDK.RestSharpClient/Stormpath.SDK.RestSharpClient.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 55712e3a-4a68-4d80-b8f4-c046e352304b
10 | Stormpath.SDK.RestSharpClient
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Cache.Redis.Tests/RedisTestCollection.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Xunit;
18 |
19 | namespace Stormpath.SDK.Cache.Redis.Tests
20 | {
21 | [CollectionDefinition(nameof(RedisTestCollection))]
22 | public class RedisTestCollection : ICollectionFixture
23 | {
24 | // Intentionally left blank. This class only serves as an anchor for CollectionDefinition.
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Cache.Redis.Tests/Stormpath.SDK.Cache.Redis.Tests.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | f5725a49-be0a-4be7-b67c-98ec31f3fe78
10 | Stormpath.SDK.Redis.Tests
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Cache.Redis.Tests/TestHelper.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Resource;
18 |
19 | namespace Stormpath.SDK.Cache.Redis.Tests
20 | {
21 | internal static class TestHelper
22 | {
23 | public static string CreateKey(T resourceType)
24 | where T : IResource
25 | {
26 | var sanitizedKey = resourceType.Href.Replace("://", "--");
27 | var region = typeof(T).Name;
28 |
29 | return $"{region}:{sanitizedKey}";
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.JsonNetSerializer.Tests/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "authors": [ "Nate Barbettini" ],
3 | "copyright": "(c) 2016 Stormpath, Inc.",
4 | "dependencies": {
5 | "dotnet-test-xunit": "2.2.0-preview2-build1029",
6 | "Microsoft.NETCore.App": {
7 | "type": "platform",
8 | "version": "1.0.0"
9 | },
10 | "Shouldly": "2.8.0",
11 | "Stormpath.SDK.JsonNetSerializer": {
12 | "target": "project",
13 | "version": "0.91.0"
14 | },
15 | "xunit": "2.1.0"
16 | },
17 | "description": "Unit tests for Stormpath.SDK.JsonNetSerializer",
18 | "frameworks": {
19 | "netcoreapp1.0": {
20 | "imports": [ "dotnet", "portable-net45+win8" ]
21 | }
22 | },
23 | "packOptions": {
24 | "iconUrl": "https://raw.githubusercontent.com/stormpath/stormpath-sdk-csharp/master/icon.png",
25 | "licenseUrl": "https://github.com/stormpath/stormpath-sdk-dotnet/blob/master/LICENSE",
26 | "owners": [ "Stormpath, Inc." ],
27 | "projectUrl": "https://github.com/stormpath/stormpath-sdk-dotnet"
28 | },
29 | "testRunner": "xunit",
30 | "tooling": {
31 | "defaultNamespace": "Stormpath.SDK.Extensions.Serialization.JsonNet.Tests"
32 | },
33 | "version": "0.91.0"
34 | }
35 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.RestSharpClient.Tests/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "authors": [ "Nate Barbettini" ],
3 | "copyright": "(c) 2016 Stormpath, Inc.",
4 | "dependencies": {
5 | "dotnet-test-xunit": "1.0.0-rc2-build10025",
6 | "NSubstitute": "1.9.2",
7 | "Shouldly": "2.8.0",
8 | "Stormpath.SDK.RestSharpClient": {
9 | "target": "project",
10 | "version": "0.91.0"
11 | },
12 | "xunit": "2.1.0"
13 | },
14 | "description": "Unit tests for Stormpath.SDK.RestSharpClient",
15 | "frameworks": {
16 | "net451": {
17 | "dependencies": {
18 | "Microsoft.NETCore.Platforms": "1.0.1"
19 | }
20 | }
21 | },
22 | "packOptions": {
23 | "iconUrl": "https://raw.githubusercontent.com/stormpath/stormpath-sdk-csharp/master/icon.png",
24 | "licenseUrl": "https://github.com/stormpath/stormpath-sdk-dotnet/blob/master/LICENSE",
25 | "owners": [ "Stormpath, Inc." ],
26 | "projectUrl": "https://github.com/stormpath/stormpath-sdk-dotnet"
27 | },
28 | "testRunner": "xunit",
29 | "tooling": {
30 | "defaultNamespace": "Stormpath.SDK.Extensions.Http.RestSharpClient.Tests"
31 | },
32 | "version": "0.91.0"
33 | }
34 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Assertly.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Tests.Common
18 | {
19 | public static class Assertly
20 | {
21 | public static void Fail(string message)
22 | {
23 | Xunit.Assert.True(false, message);
24 | }
25 |
26 | public static void Todo()
27 | {
28 | Xunit.Assert.True(false, "TODO");
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/DebugOnlyFactAttribute.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Diagnostics;
18 | using Xunit;
19 |
20 | namespace Stormpath.SDK.Tests.Common
21 | {
22 | public class DebugOnlyFactAttribute : FactAttribute
23 | {
24 | public DebugOnlyFactAttribute()
25 | {
26 | if (!Debugger.IsAttached)
27 | {
28 | this.Skip = "Only run in Debug mode.";
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/DebugOnlyTheoryAttribute.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System.Diagnostics;
18 | using Xunit;
19 |
20 | namespace Stormpath.SDK.Tests.Common
21 | {
22 | public class DebugOnlyTheoryAttribute : TheoryAttribute
23 | {
24 | public DebugOnlyTheoryAttribute()
25 | {
26 | if (!Debugger.IsAttached)
27 | {
28 | this.Skip = "Only run in Debug mode.";
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Delay.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 |
19 | namespace Stormpath.SDK.Tests.Common
20 | {
21 | public static class Delay
22 | {
23 | public static readonly int UpdatePropogation = 250;
24 |
25 | public static TimeSpan ReasonableTestRunWindow = TimeSpan.FromMinutes(10);
26 |
27 | public static readonly TimeSpan[] CustomDataRetry = {
28 | TimeSpan.FromSeconds(1),
29 | TimeSpan.FromSeconds(5),
30 | TimeSpan.FromSeconds(20),
31 | TimeSpan.FromSeconds(25)
32 | };
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Fakes/FakeUserAgentBuilder.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using Stormpath.SDK.Impl.Client;
18 |
19 | namespace Stormpath.SDK.Tests.Common.Fakes
20 | {
21 | public sealed class FakeUserAgentBuilder : IUserAgentBuilder
22 | {
23 | string IUserAgentBuilder.GetUserAgent()
24 | => "fake/testing";
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Integration/CreateSingleDirectoryFixture.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using FluentAssertions;
6 | using Stormpath.SDK.Directory;
7 |
8 | namespace Stormpath.SDK.Tests.Common.Integration
9 | {
10 | public class CreateSingleDirectoryFixture : IDisposable
11 | {
12 | public string DirectoryHref { get; private set; }
13 |
14 | public CreateSingleDirectoryFixture()
15 | {
16 | // Create a new directory for the accounts created in this test
17 | var client = TestClients.GetSAuthc1Client();
18 | var directory = client.CreateDirectoryAsync($".NET ITs {Guid.NewGuid().ToString()}", "Custom Data Search tests", DirectoryStatus.Enabled).Result;
19 | directory.Href.Should().NotBeNullOrEmpty();
20 |
21 | this.DirectoryHref = directory.Href;
22 | }
23 |
24 | public void Dispose()
25 | {
26 | // Clean up
27 | var client = TestClients.GetSAuthc1Client();
28 | var directory = client.GetDirectoryAsync(this.DirectoryHref).Result;
29 | directory.DeleteAsync().Result.Should().BeTrue();
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("Stormpath.SDK.Tests")]
4 | [assembly: InternalsVisibleTo("Stormpath.SDK.Tests.Unit")]
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/RandomData/RandomString.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | using System;
18 |
19 | namespace Stormpath.SDK.Tests.Common.RandomData
20 | {
21 | public static class RandomString
22 | {
23 | public static string Create()
24 | {
25 | return Guid
26 | .NewGuid()
27 | .ToString()
28 | .ToLower()
29 | .Replace("-", string.Empty);
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/SimplePoco.cs:
--------------------------------------------------------------------------------
1 | namespace Stormpath.SDK.Tests.Common
2 | {
3 | public class SimplePoco
4 | {
5 | public string Foo { get; set; }
6 |
7 | public int Bar { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Common/Stormpath.SDK.Tests.Common.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | b5a17885-277b-4033-850a-20eda614f278
10 | Stormpath.SDK.Tests.Common
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.CoreClr/Stormpath.SDK.Tests.CoreClr.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 80d9b81c-613b-4358-b47f-cc4ebae480c2
10 | Stormpath.SDK.Tests.CoreClr
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration.VB/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration.VB/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration.VB/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration.VB/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration.VB/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Integration/xunit.runner.json:
--------------------------------------------------------------------------------
1 | {
2 | "diagnosticMessages": true,
3 | "parallelizeTestCollections": false
4 | }
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Sanity/Stormpath.SDK.Tests.Sanity.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 292c3e35-0ed5-4d8b-bcd4-8ce2d5666447
10 | Stormpath.SDK.Tests.Sanity
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.Unit/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("")]
10 | [assembly: AssemblyProduct("Stormpath.SDK.Tests.Unit")]
11 | [assembly: AssemblyTrademark("")]
12 |
13 | // Setting ComVisible to false makes the types in this assembly not visible
14 | // to COM components. If you need to access a type in this assembly from
15 | // COM, set the ComVisible attribute to true on that type.
16 | [assembly: ComVisible(false)]
17 |
18 | // The following GUID is for the ID of the typelib if this project is exposed to COM
19 | [assembly: Guid("0d106eca-40bb-4a1c-b025-821dde8e56dc")]
20 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.VB/My Project/Application.Designer.vb:
--------------------------------------------------------------------------------
1 | '------------------------------------------------------------------------------
2 | '
3 | ' This code was generated by a tool.
4 | ' Runtime Version:4.0.30319.42000
5 | '
6 | ' Changes to this file may cause incorrect behavior and will be lost if
7 | ' the code is regenerated.
8 | '
9 | '------------------------------------------------------------------------------
10 |
11 | Option Strict On
12 | Option Explicit On
13 |
14 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.VB/My Project/Application.myapp:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 | 0
6 | true
7 | 0
8 | 1
9 | true
10 |
11 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.VB/My Project/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.VB/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests.VB/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests/DefaultCreationOptionsShould.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using FluentAssertions;
3 | using Stormpath.SDK.Impl.Resource;
4 | using Xunit;
5 |
6 | namespace Stormpath.SDK.Tests
7 | {
8 | public class DefaultCreationOptionsShould
9 | {
10 | [Fact]
11 | public void ReturnNullForNoParameters()
12 | {
13 | var options = new DefaultCreationOptions(null);
14 |
15 | options.GetQueryString().Should().BeNullOrEmpty();
16 | }
17 |
18 | [Fact]
19 | public void ReturnSingleParameter()
20 | {
21 | var options = new DefaultCreationOptions(new Dictionary
22 | {
23 | ["challenge"] = "true"
24 | });
25 |
26 | options.GetQueryString().Should().Be("challenge=true");
27 | }
28 |
29 | [Fact]
30 | public void ReturnMultipleParameters()
31 | {
32 | var options = new DefaultCreationOptions(new Dictionary
33 | {
34 | ["foo"] = "bar",
35 | ["baz"] = "123"
36 | });
37 |
38 | options.GetQueryString().Should().Be("foo=bar&baz=123");
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests/IdentityMap/TestEntity.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016 Stormpath, Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | namespace Stormpath.SDK.Tests.IdentityMap
18 | {
19 | public class TestEntity
20 | {
21 | public string Id { get; }
22 |
23 | public int Count { get; private set; }
24 |
25 | public TestEntity(string id)
26 | {
27 | this.Id = id;
28 | }
29 |
30 | public void SetCount(int count)
31 | {
32 | this.Count = count;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.Tests/Stormpath.SDK.Tests.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0.24720
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 | 1468acd2-8a96-4ee3-8103-53a519bfee8e
10 | Stormpath.SDK.Tests
11 | .\obj
12 | .\bin\
13 |
14 |
15 | 2.0
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT.Net461/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Stormpath.SDK.Client;
3 | using Stormpath.SDK.Http;
4 | using Stormpath.SDK.Serialization;
5 |
6 | namespace Stormpath.SDK.UAT.Net461
7 | {
8 | public class Program
9 | {
10 | public static void Main(string[] args)
11 | {
12 | TestRestSharpAdapterCreation();
13 |
14 | Console.WriteLine("All net461 UATs done");
15 | }
16 |
17 | private static void TestRestSharpAdapterCreation()
18 | {
19 | var client = Clients.Builder()
20 | .SetHttpClient(HttpClients.Create().RestSharpClient())
21 | .SetSerializer(Serializers.Create().JsonNetSerializer())
22 | .SetApiKeyId("fake")
23 | .SetApiKeySecret("reallyfake")
24 | .Build();
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT.Net461/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("")]
10 | [assembly: AssemblyProduct("Stormpath.SDK.UAT.Net461")]
11 | [assembly: AssemblyTrademark("")]
12 |
13 | // Setting ComVisible to false makes the types in this assembly not visible
14 | // to COM components. If you need to access a type in this assembly from
15 | // COM, set the ComVisible attribute to true on that type.
16 | [assembly: ComVisible(false)]
17 |
18 | // The following GUID is for the ID of the typelib if this project is exposed to COM
19 | [assembly: Guid("2ad2d261-50a9-41ee-8a38-f02596a68a53")]
20 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT.Net461/Stormpath.SDK.UAT.Net461.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 |
10 | 2ad2d261-50a9-41ee-8a38-f02596a68a53
11 | Stormpath.SDK.UAT.Net461
12 | .\obj
13 | .\bin\
14 | v4.6.1
15 |
16 |
17 |
18 | 2.0
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT.Net461/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "buildOptions": {
3 | "emitEntryPoint": true
4 | },
5 | "dependencies": {
6 | "Stormpath.SDK.Core": {
7 | "target": "project",
8 | "version": "0.94.0-beta1"
9 | },
10 | "Stormpath.SDK.JsonNetSerializer": {
11 | "target": "project",
12 | "version": "0.91.0"
13 | },
14 | "Stormpath.SDK.RestSharpClient": {
15 | "target": "project",
16 | "version": "0.94.0-beta1"
17 | }
18 | },
19 | "frameworks": {
20 | "net461": {
21 | }
22 | },
23 | "version": "1.0.0-*"
24 | }
25 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("")]
10 | [assembly: AssemblyProduct("Stormpath.SDK.UAT")]
11 | [assembly: AssemblyTrademark("")]
12 |
13 | // Setting ComVisible to false makes the types in this assembly not visible
14 | // to COM components. If you need to access a type in this assembly from
15 | // COM, set the ComVisible attribute to true on that type.
16 | [assembly: ComVisible(false)]
17 |
18 | // The following GUID is for the ID of the typelib if this project is exposed to COM
19 | [assembly: Guid("734687c9-d58e-460e-9b24-be52bb0d0164")]
20 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT/Stormpath.SDK.UAT.xproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 14.0
5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
6 |
7 |
8 |
9 |
10 | 734687c9-d58e-460e-9b24-be52bb0d0164
11 | Stormpath.SDK.UAT
12 | .\obj
13 | .\bin\
14 | v4.6.1
15 |
16 |
17 |
18 | 2.0
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/test/Stormpath.SDK.UAT/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "buildOptions": {
3 | "emitEntryPoint": true
4 | },
5 | "dependencies": {
6 | "Microsoft.NETCore.App": {
7 | "type": "platform",
8 | "version": "1.0.0"
9 | },
10 | "Stormpath.SDK.Core": {
11 | "target": "project",
12 | "version": "0.94.0-beta1"
13 | },
14 | "Stormpath.SDK.JsonNetSerializer": {
15 | "target": "project",
16 | "version": "0.91.0"
17 | },
18 | "Stormpath.SDK.Http.SystemNetHttpClient": {
19 | "target": "project",
20 | "version": "0.94.0-beta1"
21 | },
22 | "Stormpath.SDK.Cache.Redis": {
23 | "target": "project",
24 | "version": "0.9.1"
25 | }
26 | },
27 | "frameworks": {
28 | "netcoreapp1.0": {
29 | "imports": "dnxcore50"
30 | }
31 | },
32 | "version": "1.0.0-*"
33 | }
34 |
--------------------------------------------------------------------------------
/tools/Cake/Autofac.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Autofac.dll
--------------------------------------------------------------------------------
/tools/Cake/Cake.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Cake.Common.dll
--------------------------------------------------------------------------------
/tools/Cake/Cake.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Cake.Core.dll
--------------------------------------------------------------------------------
/tools/Cake/Cake.NuGet.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Cake.NuGet.dll
--------------------------------------------------------------------------------
/tools/Cake/Cake.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Cake.exe
--------------------------------------------------------------------------------
/tools/Cake/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) .NET Foundation and Contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/tools/Cake/Mono.CSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Mono.CSharp.dll
--------------------------------------------------------------------------------
/tools/Cake/NuGet.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/NuGet.Core.dll
--------------------------------------------------------------------------------
/tools/Cake/Roslyn.Compilers.CSharp.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Roslyn.Compilers.CSharp.dll
--------------------------------------------------------------------------------
/tools/Cake/Roslyn.Compilers.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stormpath/stormpath-sdk-dotnet/8ed3ee1644036873c44844cf5da94d66f73de9fe/tools/Cake/Roslyn.Compilers.dll
--------------------------------------------------------------------------------
/tools/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/tools/packages.config.md5sum:
--------------------------------------------------------------------------------
1 | ED-03-B3-45-EC-E6-D4-A4-73-EE-E7-99-A9-C7-43-44
2 |
--------------------------------------------------------------------------------