├── .gitignore ├── LICENSE ├── README.md ├── SimpleIdentityServer ├── SimpleIdentityServer.Host.sln ├── SimpleIdentityServer.Scim.sln ├── SimpleIdentityServer.Uma.sln ├── launch-samples.cmd ├── launch.cmd ├── run-tests.cmd ├── samples │ ├── SimpleIdentityServer.Openid.Server │ │ ├── DefaultConfiguration.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── SimpleIdentityServer.Openid.Server.csproj │ │ └── Startup.cs │ ├── SimpleIdentityServer.Protected.Api │ │ ├── Controllers │ │ │ └── ApiController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── SimpleIdentityServer.Protected.Api.csproj │ │ └── Startup.cs │ ├── certificate_prk.pfx │ ├── certificate_puk.cer │ └── postman │ │ └── SID Samples.postman_collection.json ├── src │ ├── Apis │ │ ├── Common │ │ │ ├── SimpleIdServer.Bus │ │ │ │ ├── DefaultEventPublisher.cs │ │ │ │ ├── Event.cs │ │ │ │ ├── IEventHandler.cs │ │ │ │ ├── IEventPublisher.cs │ │ │ │ ├── IEventSubscriber.cs │ │ │ │ ├── Message.cs │ │ │ │ ├── ProcessMessageHelper.cs │ │ │ │ ├── SerializedMessage.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleBusOptions.cs │ │ │ │ └── SimpleIdServer.Bus.csproj │ │ │ ├── SimpleIdServer.Concurrency │ │ │ │ ├── ConcurrencyManager.cs │ │ │ │ ├── ConcurrentObject.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── DefaultRepresentationManager.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── ControllerExtensions.cs │ │ │ │ │ └── HttpResponseHeaderExtensions.cs │ │ │ │ ├── RepresentationManager.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdServer.Concurrency.csproj │ │ │ ├── SimpleIdServer.Storage │ │ │ │ ├── BaseDistributedStorage.cs │ │ │ │ ├── DatedRecord.cs │ │ │ │ ├── IStorage.cs │ │ │ │ ├── InMemoryStorage.cs │ │ │ │ ├── InMemoryStorageModule.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Record.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdServer.Storage.csproj │ │ │ │ ├── StorageOptionsBuilder.cs │ │ │ │ └── StorageOptionsBuilderExtensions.cs │ │ │ ├── SimpleIdentityServer.AccessToken.Store │ │ │ │ ├── AccessTokenStore.cs │ │ │ │ ├── IAccessTokenStore.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.AccessToken.Store.csproj │ │ │ │ └── StoredToken.cs │ │ │ ├── SimpleIdentityServer.Common.Client │ │ │ │ ├── BaseResponse.cs │ │ │ │ ├── Factories │ │ │ │ │ └── HttpClientFactory.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.Common.Client.csproj │ │ │ ├── SimpleIdentityServer.Common.Dtos │ │ │ │ ├── Constants.cs │ │ │ │ ├── Responses │ │ │ │ │ └── ErrorResponse.cs │ │ │ │ └── SimpleIdentityServer.Common.Dtos.csproj │ │ │ ├── SimpleIdentityServer.Logging │ │ │ │ ├── BaseEventSource.cs │ │ │ │ ├── Event.cs │ │ │ │ ├── EventTasks.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Logging.csproj │ │ │ │ └── TechnicalEventSource.cs │ │ │ └── SimpleIdentityServer.Module │ │ │ │ ├── ApplicationBuilderContext.cs │ │ │ │ ├── AspPipelineContext.cs │ │ │ │ ├── ConfigureServiceContext.cs │ │ │ │ ├── IModule.cs │ │ │ │ ├── ModuleException.cs │ │ │ │ ├── OptionsExtensions.cs │ │ │ │ └── SimpleIdentityServer.Module.csproj │ │ ├── Scim │ │ │ ├── SimpleIdentityServer.Scim.Client │ │ │ │ ├── Builders │ │ │ │ │ ├── PatchRequestBuilder.cs │ │ │ │ │ └── RequestBuilder.cs │ │ │ │ ├── ConfigurationClient.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── StringExtensions.cs │ │ │ │ ├── GroupsClient.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── ScimClientFactory.cs │ │ │ │ ├── ScimResponse.cs │ │ │ │ ├── SearchParameter.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Scim.Client.csproj │ │ │ │ └── UsersClient.cs │ │ │ ├── SimpleIdentityServer.Scim.Common │ │ │ │ ├── Constants.cs │ │ │ │ ├── DTOs │ │ │ │ │ ├── BulkRequest.cs │ │ │ │ │ ├── ErrorResponse.cs │ │ │ │ │ ├── IdentifiedScimResourceResponse.cs │ │ │ │ │ ├── MultiValueAttr.cs │ │ │ │ │ ├── PatchOperationsRequest.cs │ │ │ │ │ ├── SchemaResponse.cs │ │ │ │ │ ├── ScimResourceResponse.cs │ │ │ │ │ ├── ServiceProviderConfigResponse.cs │ │ │ │ │ └── UserResource.cs │ │ │ │ ├── Models │ │ │ │ │ ├── BulkResult.cs │ │ │ │ │ ├── PatchOperation.cs │ │ │ │ │ ├── Representation.cs │ │ │ │ │ └── RepresentationAttribute.cs │ │ │ │ └── SimpleIdentityServer.Scim.Common.csproj │ │ │ ├── SimpleIdentityServer.Scim.Core │ │ │ │ ├── Apis │ │ │ │ │ ├── AddRepresentationAction.cs │ │ │ │ │ ├── BulkAction.cs │ │ │ │ │ ├── DeleteRepresentationAction.cs │ │ │ │ │ ├── GetRepresentationAction.cs │ │ │ │ │ ├── GetRepresentationsAction.cs │ │ │ │ │ ├── GroupsAction.cs │ │ │ │ │ ├── PatchRepresentationAction.cs │ │ │ │ │ ├── UpdateRepresentationAction.cs │ │ │ │ │ └── UsersAction.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── EF │ │ │ │ │ ├── DefaultSchemas.cs │ │ │ │ │ ├── Extensions │ │ │ │ │ │ ├── DateTimeExtensions.cs │ │ │ │ │ │ ├── FilterExtensions.cs │ │ │ │ │ │ └── MappingExtensions.cs │ │ │ │ │ ├── Helpers │ │ │ │ │ │ └── Transformers.cs │ │ │ │ │ ├── Models │ │ │ │ │ │ ├── MetaData.cs │ │ │ │ │ │ ├── Representation.cs │ │ │ │ │ │ ├── RepresentationAttribute.cs │ │ │ │ │ │ ├── RepresentationAttributeValue.cs │ │ │ │ │ │ ├── Schema.cs │ │ │ │ │ │ └── SchemaAttribute.cs │ │ │ │ │ ├── QueryHelper.cs │ │ │ │ │ └── Stores │ │ │ │ │ │ ├── DefaultRepresentationStore.cs │ │ │ │ │ │ └── DefaultSchemaStore.cs │ │ │ │ ├── Errors │ │ │ │ │ └── ErrorMessages.cs │ │ │ │ ├── Factories │ │ │ │ │ ├── ApiResponseFactory.cs │ │ │ │ │ ├── CommonAttributesFactory.cs │ │ │ │ │ └── ErrorResponseFactory.cs │ │ │ │ ├── Parsers │ │ │ │ │ ├── AttributeExpression.cs │ │ │ │ │ ├── AttributePath.cs │ │ │ │ │ ├── BulkRequestParser.cs │ │ │ │ │ ├── CompAttributeExpression.cs │ │ │ │ │ ├── Expression.cs │ │ │ │ │ ├── Filter.cs │ │ │ │ │ ├── FilterParser.cs │ │ │ │ │ ├── LogicalExpression.cs │ │ │ │ │ ├── PatchRequestParser.cs │ │ │ │ │ ├── RepresentationRequestParser.cs │ │ │ │ │ ├── RepresentationResponseParser.cs │ │ │ │ │ └── SearchParameterParser.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Results │ │ │ │ │ ├── ApiActionResult.cs │ │ │ │ │ └── PaginatedResult.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Scim.Core.csproj │ │ │ │ ├── Stores │ │ │ │ │ ├── IRepresentationStore.cs │ │ │ │ │ ├── ISchemaStore.cs │ │ │ │ │ └── SchemaAttribute.cs │ │ │ │ └── Validators │ │ │ │ │ └── ParametersValidator.cs │ │ │ ├── SimpleIdentityServer.Scim.Db.EF.Postgre │ │ │ │ ├── ScimPostgreModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.Scim.Db.EF.Postgre.csproj │ │ │ ├── SimpleIdentityServer.Scim.Db.EF.SqlServer │ │ │ │ ├── ScimSqlServerModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.Scim.Db.EF.SqlServer.csproj │ │ │ ├── SimpleIdentityServer.Scim.Db.EF.Sqlite │ │ │ │ ├── ScimSqliteModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.Scim.Db.EF.Sqlite.csproj │ │ │ ├── SimpleIdentityServer.Scim.Db.EF │ │ │ │ ├── Mappings │ │ │ │ │ ├── MetaDataMappings.cs │ │ │ │ │ ├── RepresentationAttributeMappings.cs │ │ │ │ │ ├── RepresentationAttributeValueMapping.cs │ │ │ │ │ ├── RepresentationMappings.cs │ │ │ │ │ ├── SchemaAttributeMappings.cs │ │ │ │ │ └── SchemaMappings.cs │ │ │ │ ├── ScimDbContext.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Scim.Db.EF.csproj │ │ │ │ └── Stores │ │ │ │ │ ├── RepresentationStore.cs │ │ │ │ │ └── SchemaStore.cs │ │ │ ├── SimpleIdentityServer.Scim.Events │ │ │ │ ├── AddGroupFinished.cs │ │ │ │ ├── AddGroupReceived.cs │ │ │ │ ├── AddUserFinished.cs │ │ │ │ ├── AddUserReceived.cs │ │ │ │ ├── PatchGroupFinished.cs │ │ │ │ ├── PatchGroupReceived.cs │ │ │ │ ├── PatchUserFinished.cs │ │ │ │ ├── PatchUserReceived.cs │ │ │ │ ├── RemoveGroupFinished.cs │ │ │ │ ├── RemoveGroupReceived.cs │ │ │ │ ├── RemoveUserFinished.cs │ │ │ │ ├── RemoveUserReceived.cs │ │ │ │ ├── ScimErrorReceived.cs │ │ │ │ ├── SimpleIdentityServer.Scim.Events.csproj │ │ │ │ ├── UpdateGroupFinished.cs │ │ │ │ ├── UpdateGroupReceived.cs │ │ │ │ ├── UpdateUserFinished.cs │ │ │ │ └── UpdateUserReceived.cs │ │ │ ├── SimpleIdentityServer.Scim.Host │ │ │ │ ├── Controllers │ │ │ │ │ ├── BulkController.cs │ │ │ │ │ ├── GroupsController.cs │ │ │ │ │ ├── ResourceTypesController.cs │ │ │ │ │ ├── SchemasController.cs │ │ │ │ │ ├── ServiceProviderConfigController.cs │ │ │ │ │ └── UsersController.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── ControllerExtensions.cs │ │ │ │ │ ├── HttpRequestExtensions.cs │ │ │ │ │ └── ServiceCollectionExtensions.cs │ │ │ │ ├── ScimHostModule.cs │ │ │ │ ├── ScimServerOptions.cs │ │ │ │ └── SimpleIdentityServer.Scim.Host.csproj │ │ │ ├── SimpleIdentityServer.Scim.Mapping │ │ │ │ ├── IAttributeMapper.cs │ │ │ │ └── SimpleIdentityServer.Scim.Mapping.csproj │ │ │ └── SimpleIdentityServer.Scim.Startup │ │ │ │ ├── Constants.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ └── launchSettings.json │ │ │ │ ├── SimpleIdentityServer.Scim.Startup.csproj │ │ │ │ ├── Startup.cs │ │ │ │ └── appsettings.json │ │ ├── SimpleIdServer │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.Client │ │ │ │ ├── FilterClient.cs │ │ │ │ ├── FilterClientFactory.cs │ │ │ │ ├── Operations │ │ │ │ │ ├── AddFilterOperation.cs │ │ │ │ │ ├── DeleteFilterOperation.cs │ │ │ │ │ ├── GetAllFiltersOperation.cs │ │ │ │ │ ├── GetFilterOperation.cs │ │ │ │ │ └── UpdateFilterOperation.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Results │ │ │ │ │ ├── AddFilterResult.cs │ │ │ │ │ ├── GetAllFiltersResult.cs │ │ │ │ │ └── GetFilterResult.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.Client.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.Common │ │ │ │ ├── ComparisonOperationsDto.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── Requests │ │ │ │ │ ├── AddFilterRequest.cs │ │ │ │ │ └── UpdateFilterRequest.cs │ │ │ │ ├── Responses │ │ │ │ │ ├── AddFilterResponse.cs │ │ │ │ │ └── FilterResponse.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.Common.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.EF.Postgre │ │ │ │ ├── AccountFilterPostgreModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.EF.Postgre.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.EF.SqlServer │ │ │ │ ├── AccountFilterSqlServerModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.EF.SqlServer.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.EF.Sqlite │ │ │ │ ├── AccountFilterSqliteModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.EF.Sqlite.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic.EF │ │ │ │ ├── AccountFilterBasicServerContext.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── MappingExtensions.cs │ │ │ │ ├── Mappings │ │ │ │ │ ├── FilterMapping.cs │ │ │ │ │ └── FilterRuleMapping.cs │ │ │ │ ├── Models │ │ │ │ │ ├── Filter.cs │ │ │ │ │ └── FilterRule.cs │ │ │ │ ├── Repositories │ │ │ │ │ └── FilterRepository.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.EF.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter.Basic │ │ │ │ ├── AccountFilter.cs │ │ │ │ ├── Aggregates │ │ │ │ │ ├── FilterAggregate.cs │ │ │ │ │ └── FilterAggregateRule.cs │ │ │ │ ├── BasicAccountFilterModule.cs │ │ │ │ ├── Controllers │ │ │ │ │ └── FiltersController.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── CloneExtensions.cs │ │ │ │ │ └── MappingExtensions.cs │ │ │ │ ├── Repositories │ │ │ │ │ ├── DefaultFilterRepository.cs │ │ │ │ │ └── IFilterRepository.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.Basic.csproj │ │ │ ├── SimpleIdentityServer.AccountFilter │ │ │ │ ├── AccountFilterResult.cs │ │ │ │ ├── IAccountFilter.cs │ │ │ │ └── SimpleIdentityServer.AccountFilter.csproj │ │ │ ├── SimpleIdentityServer.Authenticate.Basic │ │ │ │ ├── BasicAuthenticateOptions.cs │ │ │ │ ├── Controllers │ │ │ │ │ └── BaseAuthenticateController.cs │ │ │ │ ├── Extensions │ │ │ │ │ └── MappingExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Authenticate.Basic.csproj │ │ │ │ └── ViewModels │ │ │ │ │ ├── AuthorizeOpenIdViewModel.cs │ │ │ │ │ ├── AuthorizeViewModel.cs │ │ │ │ │ ├── CodeViewModel.cs │ │ │ │ │ └── IdProviderViewModel.cs │ │ │ ├── SimpleIdentityServer.Authenticate.LoginPassword │ │ │ │ ├── Areas │ │ │ │ │ └── pwd │ │ │ │ │ │ └── Views │ │ │ │ │ │ ├── Authenticate │ │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ │ ├── OpenId.cshtml │ │ │ │ │ │ └── SendCode.cshtml │ │ │ │ │ │ └── _ViewStart.cshtml │ │ │ │ ├── Constants.cs │ │ │ │ ├── Controllers │ │ │ │ │ └── AuthenticateController.cs │ │ │ │ ├── LoginPasswordModule.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── RoutingBuilderExtensions.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── Services │ │ │ │ │ └── PasswordAuthenticateResourceOwnerService.cs │ │ │ │ ├── SimpleIdentityServer.Authenticate.LoginPassword.csproj │ │ │ │ └── ViewModels │ │ │ │ │ ├── LocalAuthenticationViewModel.cs │ │ │ │ │ └── OpenidLocalAuthenticationViewModel.cs │ │ │ ├── SimpleIdentityServer.Authenticate.SMS.Client │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── SendSmsOperation.cs │ │ │ │ ├── SidSmsAuthenticateClient.cs │ │ │ │ ├── SidSmsAuthenticateClientFactory.cs │ │ │ │ └── SimpleIdentityServer.Authenticate.SMS.Client.csproj │ │ │ ├── SimpleIdentityServer.Authenticate.SMS.Common │ │ │ │ ├── Constants.cs │ │ │ │ ├── Requests │ │ │ │ │ └── ConfirmationCodeRequest.cs │ │ │ │ └── SimpleIdentityServer.Authenticate.SMS.Common.csproj │ │ │ ├── SimpleIdentityServer.Authenticate.SMS │ │ │ │ ├── Actions │ │ │ │ │ ├── GenerateAndSendSmsCodeOperation.cs │ │ │ │ │ └── SmsAuthenticationOperation.cs │ │ │ │ ├── Areas │ │ │ │ │ └── sms │ │ │ │ │ │ └── Views │ │ │ │ │ │ ├── Authenticate │ │ │ │ │ │ ├── ConfirmCode.cshtml │ │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ │ ├── OpenId.cshtml │ │ │ │ │ │ └── SendCode.cshtml │ │ │ │ │ │ └── _ViewStart.cshtml │ │ │ │ ├── Constants.cs │ │ │ │ ├── Controllers │ │ │ │ │ ├── AuthenticateController.cs │ │ │ │ │ └── CodeController.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── RoutingBuilderExtensions.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── Services │ │ │ │ │ └── SmsAuthenticateResourceOwnerService.cs │ │ │ │ ├── SimpleIdentityServer.Authenticate.SMS.csproj │ │ │ │ ├── SmsAuthenticationOptions.cs │ │ │ │ ├── SmsModule.cs │ │ │ │ └── ViewModels │ │ │ │ │ ├── ConfirmCodeViewModel.cs │ │ │ │ │ ├── LocalAuthenticationViewModel.cs │ │ │ │ │ └── OpenidLocalAuthenticationViewModel.cs │ │ │ ├── SimpleIdentityServer.Client │ │ │ │ ├── AuthorizationClient.cs │ │ │ │ ├── Builders │ │ │ │ │ ├── PkceBuilder.cs │ │ │ │ │ └── TokenRequestBuilder.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── DiscoveryClient.cs │ │ │ │ ├── Errors │ │ │ │ │ └── ErrorDescriptions.cs │ │ │ │ ├── IdentityServerClientFactory.cs │ │ │ │ ├── IntrospectClient.cs │ │ │ │ ├── IntrospectClientFactory.cs │ │ │ │ ├── JwksClient.cs │ │ │ │ ├── Operations │ │ │ │ │ ├── GetAuthorizationOperation.cs │ │ │ │ │ ├── GetDiscoveryOperation.cs │ │ │ │ │ ├── GetJsonWebKeysOperation.cs │ │ │ │ │ ├── GetUserInfoOperation.cs │ │ │ │ │ ├── IntrospectOperation.cs │ │ │ │ │ ├── PostTokenOperation.cs │ │ │ │ │ ├── RegisterClientOperation.cs │ │ │ │ │ └── RevokeTokenOperation.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── RegistrationClient.cs │ │ │ │ ├── Results │ │ │ │ │ ├── BaseSidResult.cs │ │ │ │ │ ├── GetAuthorizationResult.cs │ │ │ │ │ ├── GetIntrospectionResult.cs │ │ │ │ │ ├── GetRegisterClientResult.cs │ │ │ │ │ ├── GetRevokeTokenResult.cs │ │ │ │ │ ├── GetTokenResult.cs │ │ │ │ │ └── GetUserInfoResult.cs │ │ │ │ ├── RevokeTokenClient.cs │ │ │ │ ├── RevokeTokenClientFactory.cs │ │ │ │ ├── Selectors │ │ │ │ │ ├── ClientAuthSelector.cs │ │ │ │ │ └── TokenGrantTypeSelector.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.Client.csproj │ │ │ │ ├── TokenClient.cs │ │ │ │ ├── TokenClientFactory.cs │ │ │ │ ├── UserInfoClient.cs │ │ │ │ └── packages.config │ │ │ ├── SimpleIdentityServer.Core.Common │ │ │ │ ├── Constants.cs │ │ │ │ ├── DTOs │ │ │ │ │ ├── Requests │ │ │ │ │ │ ├── AuthorizationRequest.cs │ │ │ │ │ │ ├── ClientRequest.cs │ │ │ │ │ │ ├── IntrospectionRequest.cs │ │ │ │ │ │ ├── JsonWebKeySet.cs │ │ │ │ │ │ ├── JwsProtectedHeader.cs │ │ │ │ │ │ ├── RevocationRequest.cs │ │ │ │ │ │ ├── RevokeSessionRequest.cs │ │ │ │ │ │ └── TokenRequest.cs │ │ │ │ │ └── Responses │ │ │ │ │ │ ├── ClientRegistrationResponse.cs │ │ │ │ │ │ ├── DiscoveryInformation.cs │ │ │ │ │ │ ├── ErrorResponseWithState.cs │ │ │ │ │ │ ├── GrantedTokenResponse.cs │ │ │ │ │ │ └── IntrospectionResponse.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── ObjectExtensions.cs │ │ │ │ │ ├── RSAOpenSslExtensions.cs │ │ │ │ │ └── StringExtensions.cs │ │ │ │ ├── JsonWebKey.cs │ │ │ │ ├── JwsPayload.cs │ │ │ │ ├── Models │ │ │ │ │ ├── AuthorizationCode.cs │ │ │ │ │ ├── ClaimAggregate.cs │ │ │ │ │ ├── Client.cs │ │ │ │ │ ├── CodeChallengeMethods.cs │ │ │ │ │ ├── Consent.cs │ │ │ │ │ ├── GrantedToken.cs │ │ │ │ │ ├── ResourceOwner.cs │ │ │ │ │ ├── ResourceOwnerProfile.cs │ │ │ │ │ ├── Scope.cs │ │ │ │ │ └── Translation.cs │ │ │ │ ├── Parameters │ │ │ │ │ ├── AddClaimParameter.cs │ │ │ │ │ ├── OrderParameter.cs │ │ │ │ │ ├── SearchClaimsParameter.cs │ │ │ │ │ ├── SearchClientParameter.cs │ │ │ │ │ ├── SearchProfileParameter.cs │ │ │ │ │ ├── SearchResourceOwnerParameter.cs │ │ │ │ │ └── SearchScopesParameter.cs │ │ │ │ ├── Repositories │ │ │ │ │ ├── IClaimRepository.cs │ │ │ │ │ ├── IClientRepository.cs │ │ │ │ │ ├── IConsentRepository.cs │ │ │ │ │ ├── IJsonWebKeyRepository.cs │ │ │ │ │ ├── IProfileRepository.cs │ │ │ │ │ ├── IResourceOwnerRepository.cs │ │ │ │ │ ├── IScopeRepository.cs │ │ │ │ │ └── ITranslationRepository.cs │ │ │ │ ├── Results │ │ │ │ │ ├── SearchClaimsResult.cs │ │ │ │ │ ├── SearchClientResult.cs │ │ │ │ │ ├── SearchResourceOwnerResult.cs │ │ │ │ │ └── SearchScopeResult.cs │ │ │ │ ├── Serializers │ │ │ │ │ └── ParamSerializer.cs │ │ │ │ ├── SimpleIdentityServer.Core.Common.csproj │ │ │ │ └── StoreNames.cs │ │ │ ├── SimpleIdentityServer.Core.Jwt │ │ │ │ ├── ByteManipulator.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── Converter │ │ │ │ │ └── JsonWebKeyConverter.cs │ │ │ │ ├── Encrypt │ │ │ │ │ ├── Algorithms │ │ │ │ │ │ ├── IAlgorithm.cs │ │ │ │ │ │ └── RsaAlgorithm.cs │ │ │ │ │ ├── Encryption │ │ │ │ │ │ ├── AesEncryption.cs │ │ │ │ │ │ ├── AesEncryptionHelper.cs │ │ │ │ │ │ ├── AesEncryptionResult.cs │ │ │ │ │ │ ├── AesEncryptionWithHmac.cs │ │ │ │ │ │ └── IEncryption.cs │ │ │ │ │ ├── JweGenerator.cs │ │ │ │ │ ├── JweHelper.cs │ │ │ │ │ ├── JweParser.cs │ │ │ │ │ └── JweProtectedHeader.cs │ │ │ │ ├── Exceptions │ │ │ │ │ └── ErrorDescriptions.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── ClaimsExtensions.cs │ │ │ │ │ ├── StringExtensions.cs │ │ │ │ │ └── StructExtensions.cs │ │ │ │ ├── JweGeneratorFactory.cs │ │ │ │ ├── JwsGeneratorFactory.cs │ │ │ │ ├── JwsParserFactory.cs │ │ │ │ ├── Mapping │ │ │ │ │ └── ClaimsMapping.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Serializer │ │ │ │ │ ├── CngKeySerialized.cs │ │ │ │ │ └── CngKeySerializer.cs │ │ │ │ ├── Signature │ │ │ │ │ ├── CreateJwsSignature.cs │ │ │ │ │ ├── JwsGenerator.cs │ │ │ │ │ └── JwsParser.cs │ │ │ │ ├── SimpleIdentityServer.Core.Jwt.csproj │ │ │ │ └── SimpleIdentityServerJwtExtensions.cs │ │ │ ├── SimpleIdentityServer.Core │ │ │ │ ├── Api │ │ │ │ │ ├── Authorization │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ ├── GetAuthorizationCodeAndTokenViaHybridWorkflowOperation.cs │ │ │ │ │ │ │ ├── GetAuthorizationCodeOperation.cs │ │ │ │ │ │ │ └── GetTokenViaImplicitWorkflowOperation.cs │ │ │ │ │ │ ├── AuthorizationActions.cs │ │ │ │ │ │ ├── AuthorizationFlow.cs │ │ │ │ │ │ └── Common │ │ │ │ │ │ │ └── ProcessAuthorizationRequest.cs │ │ │ │ │ ├── Discovery │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ └── CreateDiscoveryDocumentationAction.cs │ │ │ │ │ │ └── DiscoveryActions.cs │ │ │ │ │ ├── Introspection │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ └── PostIntrospectionAction.cs │ │ │ │ │ │ └── IntrospectionActions.cs │ │ │ │ │ ├── Jwks │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ ├── GetSetOfPublicKeysUsedByTheClientToEncryptJwsTokenAction.cs │ │ │ │ │ │ │ ├── GetSetOfPublicKeysUsedToValidateJwsAction.cs │ │ │ │ │ │ │ ├── JsonWebKeyEnricher.cs │ │ │ │ │ │ │ └── RotateJsonWebKeysOperation.cs │ │ │ │ │ │ └── JwksActions.cs │ │ │ │ │ ├── Profile │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ ├── GetResourceOwnerClaimsAction.cs │ │ │ │ │ │ │ ├── GetUserProfilesAction.cs │ │ │ │ │ │ │ ├── LinkProfileAction.cs │ │ │ │ │ │ │ └── UnlinkProfileAction.cs │ │ │ │ │ │ └── ProfileActions.cs │ │ │ │ │ ├── Registration │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ └── RegisterClientAction.cs │ │ │ │ │ │ └── RegistrationActions.cs │ │ │ │ │ ├── Token │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ │ ├── GetTokenByAuthorizationCodeGrantTypeAction.cs │ │ │ │ │ │ │ ├── GetTokenByClientCredentialsGrantTypeAction.cs │ │ │ │ │ │ │ ├── GetTokenByRefreshTokenGrantTypeAction.cs │ │ │ │ │ │ │ ├── GetTokenByResourceOwnerCredentialsGrantTypeAction.cs │ │ │ │ │ │ │ └── RevokeTokenAction.cs │ │ │ │ │ │ └── TokenActions.cs │ │ │ │ │ └── UserInfo │ │ │ │ │ │ ├── Actions │ │ │ │ │ │ └── GetJwsPayload.cs │ │ │ │ │ │ └── UserInfoActions.cs │ │ │ │ ├── App.config │ │ │ │ ├── Authenticate │ │ │ │ │ ├── AuthenticateClient.cs │ │ │ │ │ ├── AuthenticateInstruction.cs │ │ │ │ │ ├── AuthenticateInstructionGenerator.cs │ │ │ │ │ ├── AuthenticationResult.cs │ │ │ │ │ ├── ClientAssertionAuthentication.cs │ │ │ │ │ ├── ClientSecretBasicAuthentication.cs │ │ │ │ │ ├── ClientSecretPostAuthentication.cs │ │ │ │ │ └── ClientTlsAuthentication.cs │ │ │ │ ├── Common │ │ │ │ │ ├── GenerateAuthorizationResponse.cs │ │ │ │ │ └── GenerateClientFromRegistrationRequest.cs │ │ │ │ ├── Constants.cs │ │ │ │ ├── Errors │ │ │ │ │ ├── ErrorCodes.cs │ │ │ │ │ └── ErrorDescriptions.cs │ │ │ │ ├── Exceptions │ │ │ │ │ ├── AuthorizationException.cs │ │ │ │ │ ├── ClaimRequiredException.cs │ │ │ │ │ ├── IdentityServerAuthenticationException.cs │ │ │ │ │ ├── IdentityServerException.cs │ │ │ │ │ ├── IdentityServerExceptionWithState.cs │ │ │ │ │ ├── InternalIdentityServerException.cs │ │ │ │ │ └── ProfileAssignedAnotherAccountException.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── AlgorithmExtensions.cs │ │ │ │ │ ├── ClaimPrincipalExtensions.cs │ │ │ │ │ ├── ClaimsParameterExtensions.cs │ │ │ │ │ ├── ClientExtensions.cs │ │ │ │ │ ├── CloneExtensions.cs │ │ │ │ │ ├── CollectionExtensions.cs │ │ │ │ │ ├── DateTimeExtensions.cs │ │ │ │ │ ├── DateTimeOffsetExtensions.cs │ │ │ │ │ └── StringExtensions.cs │ │ │ │ ├── Factories │ │ │ │ │ └── ActionResultFactory.cs │ │ │ │ ├── Helpers │ │ │ │ │ ├── AmrHelper.cs │ │ │ │ │ ├── AuthorizationFlowHelper.cs │ │ │ │ │ ├── ClientHelper.cs │ │ │ │ │ ├── ConsentHelper.cs │ │ │ │ │ ├── GrantedTokenGeneratorHelper.cs │ │ │ │ │ ├── GrantedTokenHelper.cs │ │ │ │ │ ├── ParameterParserHelper.cs │ │ │ │ │ ├── PasswordHelper.cs │ │ │ │ │ └── ResourceOwnerAuthenticateHelper.cs │ │ │ │ ├── JwtToken │ │ │ │ │ ├── JwtGenerator.cs │ │ │ │ │ └── JwtParser.cs │ │ │ │ ├── OAuthConfigurationOptions.cs │ │ │ │ ├── Parameters │ │ │ │ │ ├── AddUserParameter.cs │ │ │ │ │ ├── AuthenticationParameter.cs │ │ │ │ │ ├── AuthorizationCodeGrantTypeParameter.cs │ │ │ │ │ ├── AuthorizationParameter.cs │ │ │ │ │ ├── ClientCredentialsGrantTypeParameter.cs │ │ │ │ │ ├── ClientCredentialsParameter.cs │ │ │ │ │ ├── IntrospectionParameter.cs │ │ │ │ │ ├── LocalAuthenticationParameter.cs │ │ │ │ │ ├── RefreshTokenGrantTypeParameter.cs │ │ │ │ │ ├── RegistrationParameter.cs │ │ │ │ │ ├── ResourceOwnerGrantTypeParameter.cs │ │ │ │ │ ├── RevokeTokenParameter.cs │ │ │ │ │ └── UpdateUserParameter.cs │ │ │ │ ├── PayloadSerializer.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Protector │ │ │ │ │ ├── Compressor.cs │ │ │ │ │ ├── Encoder.cs │ │ │ │ │ └── ICertificateStore.cs │ │ │ │ ├── Repositories │ │ │ │ │ ├── DefaultClaimRepository.cs │ │ │ │ │ ├── DefaultClientRepository.cs │ │ │ │ │ ├── DefaultConsentRepository.cs │ │ │ │ │ ├── DefaultJsonWebKeyRepository.cs │ │ │ │ │ ├── DefaultProfileRepository.cs │ │ │ │ │ ├── DefaultResourceOwnerRepository.cs │ │ │ │ │ ├── DefaultScopeRepository.cs │ │ │ │ │ └── DefaultTranslationRepository.cs │ │ │ │ ├── Results │ │ │ │ │ ├── ActionResult.cs │ │ │ │ │ ├── IdentityServerEndPoints.cs │ │ │ │ │ ├── IntrospectionResult.cs │ │ │ │ │ ├── RedirectInstruction.cs │ │ │ │ │ └── UserInfoResult.cs │ │ │ │ ├── Services │ │ │ │ │ ├── DefaultAccountFilter.cs │ │ │ │ │ ├── DefaultClientPasswordService.cs │ │ │ │ │ ├── DefaultConfigurationService.cs │ │ │ │ │ ├── DefaultSubjectBuilder.cs │ │ │ │ │ ├── DefaultUserClaimsEnricher.cs │ │ │ │ │ ├── IAuthenticateResourceOwnerService.cs │ │ │ │ │ ├── IClientPasswordService.cs │ │ │ │ │ ├── IConfigurationService.cs │ │ │ │ │ ├── ISubjectBuilder.cs │ │ │ │ │ ├── IUserClaimsEnricher.cs │ │ │ │ │ └── TwoFactorAuthenticationHandler.cs │ │ │ │ ├── SimpleIdentityServer.Core.csproj │ │ │ │ ├── SimpleIdentityServerCoreExtensions.cs │ │ │ │ ├── Translation │ │ │ │ │ └── TranslationManager.cs │ │ │ │ ├── Validators │ │ │ │ │ ├── AuthorizationCodeGrantTypeParameterAuthEdpValidator.cs │ │ │ │ │ ├── AuthorizationCodeGrantTypeParameterTokenEdpValidator.cs │ │ │ │ │ ├── ClientCredentialsGrantTypeParameterValidator.cs │ │ │ │ │ ├── ClientValidator.cs │ │ │ │ │ ├── GrantedTokenValidator.cs │ │ │ │ │ ├── IntrospectionParameterValidator.cs │ │ │ │ │ ├── RefreshTokenGrantTypeParameterValidator.cs │ │ │ │ │ ├── RegistrationParameterValidator.cs │ │ │ │ │ ├── ResourceOwnerGrantTypeParameterValidator.cs │ │ │ │ │ ├── RevokeTokenParameterValidator.cs │ │ │ │ │ └── ScopeValidator.cs │ │ │ │ └── WebSite │ │ │ │ │ ├── Authenticate │ │ │ │ │ ├── Actions │ │ │ │ │ │ ├── AuthenticateResourceOwnerOpenIdAction.cs │ │ │ │ │ │ ├── GenerateAndSendCodeAction.cs │ │ │ │ │ │ ├── LocalOpenIdUserAuthenticationAction.cs │ │ │ │ │ │ ├── RemoveConfirmationCodeAction.cs │ │ │ │ │ │ └── ValidateConfirmationCodeAction.cs │ │ │ │ │ ├── AuthenticateActions.cs │ │ │ │ │ └── Common │ │ │ │ │ │ └── ProcessAuthorizationRequestRedirection.cs │ │ │ │ │ ├── Consent │ │ │ │ │ ├── Actions │ │ │ │ │ │ ├── ConfirmConsentAction.cs │ │ │ │ │ │ └── DisplayConsentAction.cs │ │ │ │ │ └── ConsentActions.cs │ │ │ │ │ └── User │ │ │ │ │ ├── Actions │ │ │ │ │ ├── AddUserOperation.cs │ │ │ │ │ ├── GetConsentsOperation.cs │ │ │ │ │ ├── GetUserOperation.cs │ │ │ │ │ ├── RemoveConsentOperation.cs │ │ │ │ │ ├── UpdateUserClaimsOperation.cs │ │ │ │ │ ├── UpdateUserCredentialsOperation.cs │ │ │ │ │ └── UpdateUserTwoFactorAuthenticatorOperation.cs │ │ │ │ │ └── UserActions.cs │ │ │ ├── SimpleIdentityServer.Dtos │ │ │ │ ├── Constants.cs │ │ │ │ └── SimpleIdentityServer.Dtos.csproj │ │ │ ├── SimpleIdentityServer.EF.Postgre │ │ │ │ ├── PostgreOAuthRepositoryModule.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.EF.Postgre.csproj │ │ │ ├── SimpleIdentityServer.EF.SqlServer │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.EF.SqlServer.csproj │ │ │ │ └── SqlServerOAuthRepositoryModule.cs │ │ │ ├── SimpleIdentityServer.EF.Sqlite │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.EF.Sqlite.csproj │ │ │ │ └── SqliteOAuthRepositoryModule.cs │ │ │ ├── SimpleIdentityServer.EF │ │ │ │ ├── Extensions │ │ │ │ │ ├── DbContextExtensions.cs │ │ │ │ │ └── MappingExtensions.cs │ │ │ │ ├── Mappings │ │ │ │ │ ├── ClaimMapping.cs │ │ │ │ │ ├── ClientMapping.cs │ │ │ │ │ ├── ClientScopeMapping.cs │ │ │ │ │ ├── ClientSecretMapping.cs │ │ │ │ │ ├── ConsentClaimMapping.cs │ │ │ │ │ ├── ConsentMapping.cs │ │ │ │ │ ├── ConsentScopeMapping.cs │ │ │ │ │ ├── JsonWebKeyMapping.cs │ │ │ │ │ ├── ProfileMapping.cs │ │ │ │ │ ├── ResourceOwnerClaimMapping.cs │ │ │ │ │ ├── ResourceOwnerMapping.cs │ │ │ │ │ ├── ScopeClaimMapping.cs │ │ │ │ │ ├── ScopeMapping.cs │ │ │ │ │ └── TranslationMapping.cs │ │ │ │ ├── Models │ │ │ │ │ ├── Claim.cs │ │ │ │ │ ├── Client.cs │ │ │ │ │ ├── ClientScope.cs │ │ │ │ │ ├── ClientSecret.cs │ │ │ │ │ ├── Consent.cs │ │ │ │ │ ├── ConsentClaim.cs │ │ │ │ │ ├── ConsentScope.cs │ │ │ │ │ ├── JsonWebKey.cs │ │ │ │ │ ├── Profile.cs │ │ │ │ │ ├── ResourceOwner.cs │ │ │ │ │ ├── ResourceOwnerClaim.cs │ │ │ │ │ ├── Scope.cs │ │ │ │ │ ├── ScopeClaim.cs │ │ │ │ │ └── Translation.cs │ │ │ │ ├── Repositories │ │ │ │ │ ├── ClaimRepository.cs │ │ │ │ │ ├── ClientRepository.cs │ │ │ │ │ ├── ConsentRepository.cs │ │ │ │ │ ├── JsonWebKeyRepository.cs │ │ │ │ │ ├── ProfileRepository.cs │ │ │ │ │ ├── ResourceOwnerRepository.cs │ │ │ │ │ ├── ScopeRepository.cs │ │ │ │ │ └── TranslationRepository.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.EF.csproj │ │ │ │ └── SimpleIdentityServerContext.cs │ │ │ ├── SimpleIdentityServer.Host │ │ │ │ ├── Constants.cs │ │ │ │ ├── Controllers │ │ │ │ │ ├── Api │ │ │ │ │ │ ├── AuthorizationController.cs │ │ │ │ │ │ ├── DiscoveryController.cs │ │ │ │ │ │ ├── IntrospectionController.cs │ │ │ │ │ │ ├── JwksController.cs │ │ │ │ │ │ ├── RegistrationController.cs │ │ │ │ │ │ ├── SessionController.cs │ │ │ │ │ │ ├── TokenController.cs │ │ │ │ │ │ └── UserInfoController.cs │ │ │ │ │ └── Website │ │ │ │ │ │ └── BaseController.cs │ │ │ │ ├── Extensions │ │ │ │ │ ├── ApplicationBuilderExtensions.cs │ │ │ │ │ ├── AuthenticateServiceExtensions.cs │ │ │ │ │ ├── ControllerExtensions.cs │ │ │ │ │ ├── DataProtectorExtensions.cs │ │ │ │ │ ├── HttpRequestExtensions.cs │ │ │ │ │ ├── IdentityServerOptions.cs │ │ │ │ │ ├── MappingExtensions.cs │ │ │ │ │ ├── ObjectExtensions.cs │ │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ │ ├── UriExtensions.cs │ │ │ │ │ └── UrlHelperExtensions.cs │ │ │ │ ├── MiddleWare │ │ │ │ │ ├── ExceptionHandlerMiddleware.cs │ │ │ │ │ ├── ExceptionHandlerMiddlewareOptions.cs │ │ │ │ │ ├── SimpleIdentityServerExceptionExtensions.cs │ │ │ │ │ ├── XFrameExtensions.cs │ │ │ │ │ └── XFrameMiddleware.cs │ │ │ │ ├── Parsers │ │ │ │ │ ├── ActionInformation.cs │ │ │ │ │ ├── ActionResultFactory.cs │ │ │ │ │ ├── ActionResultParser.cs │ │ │ │ │ └── RedirectInstructionParser.cs │ │ │ │ ├── Properties │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── SimpleIdentityServer.Host.csproj │ │ │ │ ├── SimpleIdentityServerHostModule.cs │ │ │ │ └── Views │ │ │ │ │ ├── CheckSession.html │ │ │ │ │ ├── RevokeSession.html │ │ │ │ │ ├── RevokeSessionCallback.html │ │ │ │ │ └── UserNotConnected.html │ │ │ ├── SimpleIdentityServer.OAuth.Events │ │ │ │ ├── AuthorizationGranted.cs │ │ │ │ ├── AuthorizationRequestReceived.cs │ │ │ │ ├── GrantTokenViaAuthorizationCodeReceived.cs │ │ │ │ ├── GrantTokenViaClientCredentialsReceived.cs │ │ │ │ ├── GrantTokenViaRefreshTokenReceived.cs │ │ │ │ ├── GrantTokenViaResourceOwnerCredentialsReceived.cs │ │ │ │ ├── IntrospectionRequestReceived.cs │ │ │ │ ├── IntrospectionResultReturned.cs │ │ │ │ ├── OAuthErrorReceived.cs │ │ │ │ ├── RegistrationReceived.cs │ │ │ │ ├── RegistrationResultReceived.cs │ │ │ │ ├── RevokeTokenReceived.cs │ │ │ │ ├── SimpleIdentityServer.OAuth.Events.csproj │ │ │ │ ├── TokenGranted.cs │ │ │ │ └── TokenRevoked.cs │ │ │ ├── SimpleIdentityServer.OAuth.Logging │ │ │ │ ├── OAuthEventSource.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.OAuth.Logging.csproj │ │ │ ├── SimpleIdentityServer.OAuth2Introspection │ │ │ │ ├── OAuth2IntrospectionExtensions.cs │ │ │ │ ├── OAuth2IntrospectionHandler.cs │ │ │ │ ├── OAuth2IntrospectionModule.cs │ │ │ │ ├── OAuth2IntrospectionOptions.cs │ │ │ │ └── SimpleIdentityServer.OAuth2Introspection.csproj │ │ │ ├── SimpleIdentityServer.OpenId.Events │ │ │ │ ├── ConsentAccepted.cs │ │ │ │ ├── ConsentRejected.cs │ │ │ │ ├── GetUserInformationReceived.cs │ │ │ │ ├── OpenIdErrorReceived.cs │ │ │ │ ├── ResourceOwnerAuthenticated.cs │ │ │ │ ├── SimpleIdentityServer.OpenId.Events.csproj │ │ │ │ └── UserInformationReturned.cs │ │ │ ├── SimpleIdentityServer.OpenId.Logging │ │ │ │ ├── OpenIdEventSource.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.OpenId.Logging.csproj │ │ │ ├── SimpleIdentityServer.Shell │ │ │ │ ├── ApplicationBuilderExtensions.cs │ │ │ │ ├── Areas │ │ │ │ │ └── Shell │ │ │ │ │ │ └── Views │ │ │ │ │ │ ├── Consent │ │ │ │ │ │ └── Index.cshtml │ │ │ │ │ │ ├── Error │ │ │ │ │ │ ├── Get401.cshtml │ │ │ │ │ │ ├── Get404.cshtml │ │ │ │ │ │ ├── Get500.cshtml │ │ │ │ │ │ └── Index.cshtml │ │ │ │ │ │ ├── Form │ │ │ │ │ │ └── Index.cshtml │ │ │ │ │ │ ├── Home │ │ │ │ │ │ └── Index.cshtml │ │ │ │ │ │ └── Shared │ │ │ │ │ │ └── _Layout.cshtml │ │ │ │ ├── Controllers │ │ │ │ │ ├── ConsentController.cs │ │ │ │ │ ├── ErrorController.cs │ │ │ │ │ ├── FormController.cs │ │ │ │ │ └── HomeController.cs │ │ │ │ ├── RoutingBuilderExtensions.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── ShellModule.cs │ │ │ │ ├── SimpleIdentityServer.Shell.csproj │ │ │ │ ├── ViewModels │ │ │ │ │ ├── ConsentViewModel.cs │ │ │ │ │ ├── ErrorViewModel.cs │ │ │ │ │ └── FormViewModel.cs │ │ │ │ └── wwwroot │ │ │ │ │ ├── css │ │ │ │ │ ├── home.index.css │ │ │ │ │ ├── style.css │ │ │ │ │ └── tile.theme.css │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ │ │ ├── img │ │ │ │ │ ├── OAuth2.png │ │ │ │ │ ├── Unknown.png │ │ │ │ │ ├── doctor.png │ │ │ │ │ ├── elabs.png │ │ │ │ │ ├── openid.png │ │ │ │ │ ├── patient.png │ │ │ │ │ └── swagger-logo.png │ │ │ │ │ └── lib │ │ │ │ │ ├── bootstrap │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ └── bootstrap.js │ │ │ │ │ └── jquery │ │ │ │ │ └── jquery.js │ │ │ ├── SimpleIdentityServer.Startup │ │ │ │ ├── DefaultConfiguration.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ │ ├── PublishProfiles │ │ │ │ │ │ ├── publish-module.psm1 │ │ │ │ │ │ └── simpleidserver - Web Deploy-publish.ps1 │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── SimpleIdentityServer.Startup.csproj │ │ │ │ ├── Startup.cs │ │ │ │ ├── appsettings.json │ │ │ │ └── create-certificate.cmd │ │ │ ├── SimpleIdentityServer.Store │ │ │ │ ├── ConfirmationCode.cs │ │ │ │ ├── DefaultAuthorizationCodeStore.cs │ │ │ │ ├── DefaultConfirmationCode.cs │ │ │ │ ├── DefaultTokenStore.cs │ │ │ │ ├── IAuthorizationCodeStore.cs │ │ │ │ ├── IConfirmationCodeStore.cs │ │ │ │ ├── ITokenStore.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ └── SimpleIdentityServer.Store.csproj │ │ │ ├── SimpleIdentityServer.Twilio.Client │ │ │ │ ├── SimpleIdentityServer.Twilio.Client.csproj │ │ │ │ ├── TwilioClient.cs │ │ │ │ ├── TwilioException.cs │ │ │ │ └── TwilioSmsCredentials.cs │ │ │ ├── SimpleIdentityServer.TwoFactorAuthentication │ │ │ │ ├── ITwoFactorAuthenticationService.cs │ │ │ │ └── SimpleIdentityServer.TwoFactorAuthentication.csproj │ │ │ ├── SimpleIdentityServer.UserInfoIntrospection │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── SimpleIdentityServer.UserInfoIntrospection.csproj │ │ │ │ ├── UserInfoIntrospectionExtensions.cs │ │ │ │ ├── UserInfoIntrospectionHandler.cs │ │ │ │ └── UserInfoIntrospectionOptions.cs │ │ │ ├── SimpleIdentityServer.UserManagement.Client │ │ │ │ ├── Operations │ │ │ │ │ ├── GetProfilesOperation.cs │ │ │ │ │ ├── LinkProfileOperation.cs │ │ │ │ │ └── UnlinkProfileOperation.cs │ │ │ │ ├── ProfileClient.cs │ │ │ │ ├── ProfileClientFactory.cs │ │ │ │ ├── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Results │ │ │ │ │ └── GetProfilesResult.cs │ │ │ │ └── SimpleIdentityServer.UserManagement.Client.csproj │ │ │ ├── SimpleIdentityServer.UserManagement.Common │ │ │ │ ├── Constants.cs │ │ │ │ ├── Requests │ │ │ │ │ └── LinkProfileRequest.cs │ │ │ │ ├── Responses │ │ │ │ │ ├── AuthproviderResponse.cs │ │ │ │ │ └── ProfileResponse.cs │ │ │ │ └── SimpleIdentityServer.UserManagement.Common.csproj │ │ │ └── SimpleIdentityServer.UserManagement │ │ │ │ ├── Areas │ │ │ │ └── UserManagement │ │ │ │ │ └── Views │ │ │ │ │ ├── Shared │ │ │ │ │ └── _UserLayout.cshtml │ │ │ │ │ ├── User │ │ │ │ │ ├── Consent.cshtml │ │ │ │ │ ├── Edit.cshtml │ │ │ │ │ ├── Index.cshtml │ │ │ │ │ ├── LinkProfileConfirmation.cshtml │ │ │ │ │ └── Profile.cshtml │ │ │ │ │ └── _ViewStart.cshtml │ │ │ │ ├── Controllers │ │ │ │ ├── AuthProvidersController.cs │ │ │ │ ├── ProfilesController.cs │ │ │ │ └── UserController.cs │ │ │ │ ├── Extensions │ │ │ │ └── MappingExtensions.cs │ │ │ │ ├── RoutingBuilderExtensions.cs │ │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ │ ├── SimpleIdentityServer.UserManagement.csproj │ │ │ │ ├── UserManagementModule.cs │ │ │ │ └── ViewModels │ │ │ │ ├── AuthorizeViewModel.cs │ │ │ │ ├── CallbackViewModel.cs │ │ │ │ ├── ConsentViewModel.cs │ │ │ │ ├── LinkProfileConfirmationViewModel.cs │ │ │ │ ├── ProfileViewModel.cs │ │ │ │ ├── UpdateResourceOwnerCredentialsViewModel.cs │ │ │ │ ├── UpdateResourceOwnerViewModel.cs │ │ │ │ └── UpdateTwoFactorAuthenticatorViewModel.cs │ │ └── Uma │ │ │ ├── SimpleIdentityServer.Uma.Client │ │ │ ├── Configuration │ │ │ │ └── GetConfigurationOperation.cs │ │ │ ├── Constants.cs │ │ │ ├── Errors │ │ │ │ └── ErrorDescriptions.cs │ │ │ ├── Helpers │ │ │ │ └── UriHelpers.cs │ │ │ ├── IdentityServerUmaClientFactory.cs │ │ │ ├── Permission │ │ │ │ ├── AddPermissionsOperation.cs │ │ │ │ └── PermissionClient.cs │ │ │ ├── Policy │ │ │ │ ├── AddPolicyOperation.cs │ │ │ │ ├── AddResourceToPolicyOperation.cs │ │ │ │ ├── DeletePolicyOperation.cs │ │ │ │ ├── DeleteResourceFromPolicyOperation.cs │ │ │ │ ├── GetPoliciesOperation.cs │ │ │ │ ├── GetPolicyOperation.cs │ │ │ │ ├── PolicyClient.cs │ │ │ │ ├── SearchPoliciesOperation.cs │ │ │ │ └── UpdatePolicyOperation.cs │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ResourceSet │ │ │ │ ├── AddResourceSetOperation.cs │ │ │ │ ├── DeleteResourceSetOperation.cs │ │ │ │ ├── GetResourceOperation.cs │ │ │ │ ├── GetResourcesOperation.cs │ │ │ │ ├── ResourceSetClient.cs │ │ │ │ ├── SearchResourcesOperation.cs │ │ │ │ └── UpdateResourceOperation.cs │ │ │ ├── Results │ │ │ │ ├── AddPermissionResult.cs │ │ │ │ ├── AddPolicyResult.cs │ │ │ │ ├── AddResourceSetResult.cs │ │ │ │ ├── GetPoliciesResult.cs │ │ │ │ ├── GetPolicyResult.cs │ │ │ │ ├── GetResourceSetResult.cs │ │ │ │ ├── GetResourcesResult.cs │ │ │ │ ├── SearchAuthPoliciesResult.cs │ │ │ │ ├── SearchResourceSetResult.cs │ │ │ │ └── UpdateResourceSetResult.cs │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ └── SimpleIdentityServer.Uma.Client.csproj │ │ │ ├── SimpleIdentityServer.Uma.Common │ │ │ ├── ClaimsIdentityExtensions.cs │ │ │ ├── Constants.cs │ │ │ ├── DTOs │ │ │ │ ├── AddPermissionResponse.cs │ │ │ │ ├── AddPermissionsResponse.cs │ │ │ │ ├── AddPolicyResponse.cs │ │ │ │ ├── AddResourceSetResponse.cs │ │ │ │ ├── AddScopeResponse.cs │ │ │ │ ├── AuthorizationResponse.cs │ │ │ │ ├── BulkAuthorizationResponse.cs │ │ │ │ ├── ConfigurationResponse.cs │ │ │ │ ├── IntrospectionResponse.cs │ │ │ │ ├── PolicyResponse.cs │ │ │ │ ├── PolicyRuleResponse.cs │ │ │ │ ├── PostAddResourceSet.cs │ │ │ │ ├── PostAuthorization.cs │ │ │ │ ├── PostIntrospection.cs │ │ │ │ ├── PostPermission.cs │ │ │ │ ├── PostPolicy.cs │ │ │ │ ├── PostResourceSet.cs │ │ │ │ ├── PostScope.cs │ │ │ │ ├── PutPolicy.cs │ │ │ │ ├── PutResourceSet.cs │ │ │ │ ├── PutScope.cs │ │ │ │ ├── ResourceSetResponse.cs │ │ │ │ ├── ScopeResponse.cs │ │ │ │ ├── SearchAuthPolicies.cs │ │ │ │ ├── SearchAuthPoliciesResponse.cs │ │ │ │ ├── SearchResourceSet.cs │ │ │ │ ├── SearchResourceSetResponse.cs │ │ │ │ ├── UpdateResourceSetResponse.cs │ │ │ │ └── UpdateScopeResponse.cs │ │ │ ├── Extensions │ │ │ │ └── DictionaryExtensions.cs │ │ │ └── SimpleIdentityServer.Uma.Common.csproj │ │ │ ├── SimpleIdentityServer.Uma.Core │ │ │ ├── Api │ │ │ │ ├── ConfigurationController │ │ │ │ │ ├── Actions │ │ │ │ │ │ └── GetConfigurationAction.cs │ │ │ │ │ └── ConfigurationActions.cs │ │ │ │ ├── PermissionController │ │ │ │ │ ├── Actions │ │ │ │ │ │ └── AddPermissionAction.cs │ │ │ │ │ └── PermissionControllerActions.cs │ │ │ │ ├── PolicyController │ │ │ │ │ ├── Actions │ │ │ │ │ │ ├── AddAuthorizationPolicyAction.cs │ │ │ │ │ │ ├── AddResourceSetToPolicyAction.cs │ │ │ │ │ │ ├── DeleteAuthorizationPolicyAction.cs │ │ │ │ │ │ ├── DeleteResourcePolicyAction.cs │ │ │ │ │ │ ├── GetAuthorizationPoliciesAction.cs │ │ │ │ │ │ ├── GetAuthorizationPolicyAction.cs │ │ │ │ │ │ ├── SearchAuthPoliciesAction.cs │ │ │ │ │ │ └── UpdatePolicyAction.cs │ │ │ │ │ └── PolicyActions.cs │ │ │ │ ├── ResourceSetController │ │ │ │ │ ├── Actions │ │ │ │ │ │ ├── AddResourceSetAction.cs │ │ │ │ │ │ ├── DeleteResourceSetAction.cs │ │ │ │ │ │ ├── GetAllResourceSetAction.cs │ │ │ │ │ │ ├── GetPoliciesAction.cs │ │ │ │ │ │ ├── GetResourceSetAction.cs │ │ │ │ │ │ ├── SearchResourceSetOperation.cs │ │ │ │ │ │ └── UpdateResourceSetAction.cs │ │ │ │ │ └── ResourceSetActions.cs │ │ │ │ └── Token │ │ │ │ │ ├── Actions │ │ │ │ │ └── GetTokenByTicketIdAction.cs │ │ │ │ │ └── UmaTokenActions.cs │ │ │ ├── Configuration │ │ │ │ └── UmaServerConfigurationProvider.cs │ │ │ ├── Constants.cs │ │ │ ├── Errors │ │ │ │ ├── ErrorCodes.cs │ │ │ │ └── ErrorDescriptions.cs │ │ │ ├── Exceptions │ │ │ │ └── BaseUmaException.cs │ │ │ ├── Extensions │ │ │ │ ├── CopyExtensions.cs │ │ │ │ ├── DateTimeExtensions.cs │ │ │ │ └── DictionaryExtensions.cs │ │ │ ├── Helpers │ │ │ │ └── RepositoryExceptionHelper.cs │ │ │ ├── JwtToken │ │ │ │ └── JwtTokenParser.cs │ │ │ ├── Models │ │ │ │ ├── Policy.cs │ │ │ │ ├── ResourceSet.cs │ │ │ │ ├── Rpt.cs │ │ │ │ ├── SearchAuthPoliciesResult.cs │ │ │ │ ├── SearchResourceSetResult.cs │ │ │ │ ├── Ticket.cs │ │ │ │ └── TicketLine.cs │ │ │ ├── Parameters │ │ │ │ ├── AddPermissionParameter.cs │ │ │ │ ├── AddPolicyParameter.cs │ │ │ │ ├── AddResouceSetParameter.cs │ │ │ │ ├── AddResourceSetParameter.cs │ │ │ │ ├── AddScopeParameter.cs │ │ │ │ ├── ClaimTokenParameter.cs │ │ │ │ ├── GetAuthorizationActionParameter.cs │ │ │ │ ├── GetTokenViaTicketIdParameter.cs │ │ │ │ ├── SearchAuthPoliciesParameter.cs │ │ │ │ ├── SearchResourceSetParameter.cs │ │ │ │ ├── UpdatePolicyParameter.cs │ │ │ │ ├── UpdateResourceSetParameter.cs │ │ │ │ └── UpdateScopeParameter.cs │ │ │ ├── Policies │ │ │ │ ├── AuthorizationPolicyResult.cs │ │ │ │ ├── AuthorizationPolicyValidator.cs │ │ │ │ ├── BasicAuthorizationPolicy.cs │ │ │ │ ├── CustomAuthorizationPolicy.cs │ │ │ │ └── TicketLineParameter.cs │ │ │ ├── Properties │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── Providers │ │ │ │ └── IHostingProvider.cs │ │ │ ├── Repositories │ │ │ │ ├── DefaultPolicyRepository.cs │ │ │ │ ├── DefaultResourceSetRepository.cs │ │ │ │ ├── IPolicyRepository.cs │ │ │ │ └── IResourceSetRepository.cs │ │ │ ├── Responses │ │ │ │ ├── AuthorizationResponse.cs │ │ │ │ └── ConfigurationResponse.cs │ │ │ ├── Services │ │ │ │ ├── DefaultConfigurationService.cs │ │ │ │ └── IUmaConfigurationService.cs │ │ │ ├── SimpleIdServerUmaCoreExtensions.cs │ │ │ ├── SimpleIdentityServer.Uma.Core.csproj │ │ │ ├── Stores │ │ │ │ ├── DefaultTicketStore.cs │ │ │ │ └── ITicketStore.cs │ │ │ ├── UmaConfigurationOptions.cs │ │ │ └── Validators │ │ │ │ └── ResourceSetParameterValidator.cs │ │ │ ├── SimpleIdentityServer.Uma.EF.Postgre │ │ │ ├── PostgreUmaRepositoryModule.cs │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ └── SimpleIdentityServer.Uma.EF.Postgre.csproj │ │ │ ├── SimpleIdentityServer.Uma.EF.SqlServer │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ ├── SimpleIdentityServer.Uma.EF.SqlServer.csproj │ │ │ └── SqlServerUmaRepositoryModule.cs │ │ │ ├── SimpleIdentityServer.Uma.EF.Sqlite │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ ├── SimpleIdentityServer.Uma.EF.Sqlite.csproj │ │ │ └── SqliteUmaRepositoryModule.cs │ │ │ ├── SimpleIdentityServer.Uma.EF │ │ │ ├── Extensions │ │ │ │ ├── DbContextExtensions.cs │ │ │ │ ├── MappingExtensions.cs │ │ │ │ └── SimpleIdServerUmaContextExtensions.cs │ │ │ ├── Mappings │ │ │ │ ├── PolicyMappings.cs │ │ │ │ ├── PolicyResourceMappings.cs │ │ │ │ ├── PolicyRuleMappings.cs │ │ │ │ └── ResourceSetMappings.cs │ │ │ ├── Models │ │ │ │ ├── Policy.cs │ │ │ │ ├── PolicyResource.cs │ │ │ │ ├── PolicyRule.cs │ │ │ │ └── ResourceSet.cs │ │ │ ├── Repositories │ │ │ │ ├── PolicyRepository.cs │ │ │ │ └── ResourceSetRepository.cs │ │ │ ├── SimpleIdServerUmaContext.cs │ │ │ ├── SimpleIdServerUmaExtensions.cs │ │ │ └── SimpleIdentityServer.Uma.EF.csproj │ │ │ ├── SimpleIdentityServer.Uma.Host │ │ │ ├── AuthorizationServerOptions.cs │ │ │ ├── Configuration │ │ │ │ └── HostingProvider.cs │ │ │ ├── Constants.cs │ │ │ ├── Controllers │ │ │ │ ├── ConfigurationController.cs │ │ │ │ ├── IntrospectionController.cs │ │ │ │ ├── JwksController.cs │ │ │ │ ├── PermissionsController.cs │ │ │ │ ├── PoliciesController.cs │ │ │ │ ├── RegistrationController.cs │ │ │ │ ├── ResourceSetController.cs │ │ │ │ └── TokenController.cs │ │ │ ├── DTOs │ │ │ │ └── Responses │ │ │ │ │ ├── ClientResponse.cs │ │ │ │ │ └── TokenResponse.cs │ │ │ ├── Errors │ │ │ │ ├── ErrorCodes.cs │ │ │ │ └── ErrorDescriptions.cs │ │ │ ├── Extensions │ │ │ │ ├── ControllerExtensions.cs │ │ │ │ ├── HttpRequestsExtensions.cs │ │ │ │ ├── MappingExtensions.cs │ │ │ │ ├── ObjectExtensions.cs │ │ │ │ └── ServiceCollectionExtensions.cs │ │ │ ├── Middlewares │ │ │ │ ├── ExceptionHandlerExtension.cs │ │ │ │ ├── ExceptionHandlerMiddleware.cs │ │ │ │ └── ExceptionHandlerMiddlewareOptions.cs │ │ │ ├── Properties │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── PublishProfiles │ │ │ │ │ ├── publish-module.psm1 │ │ │ │ │ └── simpleuma - Web Deploy-publish.ps1 │ │ │ │ └── launchSettings.json │ │ │ ├── SimpleIdentityServer.Uma.Host.csproj │ │ │ └── UmaHostModule.cs │ │ │ ├── SimpleIdentityServer.Uma.Logging │ │ │ ├── ServiceCollectionExtensions.cs │ │ │ ├── SimpleIdentityServer.Uma.Logging.csproj │ │ │ └── UmaServerEventSource.cs │ │ │ └── SimpleIdentityServer.Uma.Startup │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── SimpleIdentityServer.Uma.Startup.csproj │ │ │ ├── Startup.cs │ │ │ ├── appsettings.json │ │ │ ├── web.config │ │ │ └── wwwroot │ │ │ ├── favicon.ico │ │ │ └── web.config │ ├── Lib │ │ └── System.Security.Cryptography.Algorithms.Extensions │ │ │ ├── BCryptHashAlgorithm.cs │ │ │ ├── BCryptNative.cs │ │ │ ├── BCryptSafeHandles.cs │ │ │ ├── ECDsaCngExtensions.cs │ │ │ ├── Parser.cs │ │ │ ├── RsaExtensions.cs │ │ │ ├── SecurityDocument.cs │ │ │ ├── SecurityElement.cs │ │ │ ├── SharedStatics.cs │ │ │ ├── System.Security.Cryptography.Algorithms.Extensions.csproj │ │ │ ├── Tokenizer.cs │ │ │ ├── Utils.cs │ │ │ └── XmlSyntaxException.cs │ ├── SimpleIdServer.pfx │ └── generate-nugetpkgs.cmd └── tests │ ├── SimpleIdServer.Storage.Tests │ ├── InMemoryStorageFixture.cs │ └── SimpleIdServer.Storage.Tests.csproj │ ├── SimpleIdentityServer.AccessToken.Store.Tests │ ├── AccessTokenStoreFixture.cs │ └── SimpleIdentityServer.AccessToken.Store.Tests.csproj │ ├── SimpleIdentityServer.AccountFilter.Basic.Tests │ ├── AccountFilterFixture.cs │ └── SimpleIdentityServer.AccountFilter.Basic.Tests.csproj │ ├── SimpleIdentityServer.Authenticate.SMS.Tests │ ├── Actions │ │ ├── GenerateAndSendSmsCodeOperationFixture.cs │ │ └── SmsAuthenticationOperationFixture.cs │ ├── Services │ │ └── SmsAuthenticateResourceOwnerServiceFixture.cs │ └── SimpleIdentityServer.Authenticate.SMS.Tests.csproj │ ├── SimpleIdentityServer.Core.Jwt.UnitTests │ ├── Converter │ │ └── JsonWebKeyConverterFixture.cs │ ├── Serializer │ │ └── CngKeySerializerFixture.cs │ ├── Signature │ │ ├── CreateJwsSignatureFixture.cs │ │ └── JwsGeneratorFixture.cs │ └── SimpleIdentityServer.Core.Jwt.UnitTests.csproj │ ├── SimpleIdentityServer.Core.UnitTests │ ├── Api │ │ ├── Authorization │ │ │ ├── AuthorizationActionsFixture.cs │ │ │ ├── GetAuthorizationCodeAndTokenViaHybridWorkflowOperationFixture.cs │ │ │ ├── GetAuthorizationCodeOperationFixture.cs │ │ │ ├── GetTokenViaImplicitWorkflowOperationFixture.cs │ │ │ └── ProcessAuthorizationRequestFixture.cs │ │ ├── Discovery │ │ │ └── CreateDiscoveryDocumentationActionFixture.cs │ │ ├── Introspection │ │ │ ├── Actions │ │ │ │ └── PostIntrospectionActionFixture.cs │ │ │ └── IntrospectionActionsFixture.cs │ │ ├── Jwks │ │ │ ├── JwksActionsFixture.cs │ │ │ └── Operations │ │ │ │ └── RotateJsonWebKeysOperationFixture.cs │ │ ├── Profile │ │ │ ├── Actions │ │ │ │ ├── GetResourceOwnerClaimsActionFixture.cs │ │ │ │ ├── GetUserProfilesActionFixture.cs │ │ │ │ ├── LinkProfileActionFixture.cs │ │ │ │ └── UnlinkProfileActionFixture.cs │ │ │ └── ProfileActionsFixture.cs │ │ ├── Registration │ │ │ ├── RegisterClientActionFixture.cs │ │ │ └── RegistrationActionsFixture.cs │ │ ├── Token │ │ │ ├── GetTokenByAuthorizationCodeGrantTypeActionFixture.cs │ │ │ ├── GetTokenByClientCredentialsGrantTypeActionFixture.cs │ │ │ ├── GetTokenByRefreshTokenGrantTypeActionFixture.cs │ │ │ ├── GetTokenByResourceOwnerCredentialsGrantTypeActionFixture.cs │ │ │ ├── RevokeTokenActionFixture.cs │ │ │ └── TokenActionsFixture.cs │ │ └── UserInfo │ │ │ └── GetJwsPayloadFixture.cs │ ├── Authenticate │ │ ├── AuthenticateClientFixture.cs │ │ ├── AuthenticateInstructionGeneratorFixture.cs │ │ ├── ClientAssertionAuthenticationFixture.cs │ │ ├── ClientSecretBasicAuthenticationFixture.cs │ │ ├── ClientSecretPostAuthenticationFixture.cs │ │ └── ClientTlsAuthenticationFixture.cs │ ├── Common │ │ ├── GenerateAuthorizationResponseFixture.cs │ │ └── GenerateClientFromRegistrationRequestFixture.cs │ ├── Extensions │ │ ├── ClaimPrincipalExtensionsFixture.cs │ │ ├── ClaimsParameterExtensionsFixture.cs │ │ └── ClientExtensionsFixture.cs │ ├── Fake │ │ ├── FakeHttpMessageHandler.cs │ │ └── FakeOpenIdAssets.cs │ ├── Helpers │ │ ├── AmrHelperFixture.cs │ │ ├── AuthorizationFlowHelperFixture.cs │ │ ├── ClientHelperFixture.cs │ │ ├── ConsentHelperFixture.cs │ │ ├── GrantedTokenGeneratorHelperFixture.cs │ │ ├── GrantedTokenHelperFixture.cs │ │ └── ResourceOwnerAuthenticateHelperFixture.cs │ ├── JwtToken │ │ ├── JwtGeneratorFixture.cs │ │ └── JwtParserFixture.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Protector │ │ └── CompressorFixture.cs │ ├── SimpleIdentityServer.Core.UnitTests.csproj │ ├── Translation │ │ └── TranslationManagerFixture.cs │ ├── TwoFactors │ │ └── TwoFactorAuthenticationHandlerFixture.cs │ ├── Validators │ │ ├── AuthorizationCodeGrantTypeParameterAuthEdpValidatorFixture.cs │ │ ├── AuthorizationCodeGrantTypeParameterTokenEdpValidatorFixture.cs │ │ ├── ClientCredentialsGrantTypeParameterValidatorFixture.cs │ │ ├── ClientValidatorFixture.cs │ │ ├── GrantedTokenValidatorFixture.cs │ │ ├── IntrospectionParameterValidatorFixture.cs │ │ ├── RefreshTokenGrantTypeParameterValidatorFixture.cs │ │ ├── RegistrationParameterValidatorFixture.cs │ │ └── ResourceOwnerGrantTypeParameterValidatorFixture.cs │ └── WebSite │ │ ├── Authenticate │ │ ├── AuthenticateActionsFixture.cs │ │ ├── AuthenticateHelperFixture.cs │ │ ├── AuthenticateResourceOwnerOpenIdActionFixture.cs │ │ ├── GenerateAndSendCodeActionFixture.cs │ │ ├── LocalOpenIdUserAuthenticationActionFixture.cs │ │ ├── RemoveConfirmationCodeActionFixture.cs │ │ └── ValidateConfirmationCodeActionFixture.cs │ │ ├── Consent │ │ ├── ConfirmConsentFixture.cs │ │ ├── ConsentActionsFixture.cs │ │ └── DisplayConsentActionFixture.cs │ │ └── User │ │ ├── AddUserOperationFixture.cs │ │ ├── GetConsentsOperationFixture.cs │ │ ├── GetUserOperationFixture.cs │ │ ├── RemoveConsentOperationFixture.cs │ │ ├── UpdateUserClaimsOperationFixture.cs │ │ ├── UpdateUserCredentialsOperationFixture.cs │ │ └── UpdateUserTwoFactorAuthenticatorOperationFixture.cs │ ├── SimpleIdentityServer.Host.Tests │ ├── Apis │ │ ├── AccountFilterClientFixture.cs │ │ ├── AuthorizationClientFixture.cs │ │ ├── DiscoveryClientFixture.cs │ │ ├── IntrospectClientFixture.cs │ │ ├── JwksClientFixture.cs │ │ ├── ProfileClientFixture.cs │ │ ├── RegisterClientFixture.cs │ │ ├── RevokeTokenClientFixture.cs │ │ ├── SessionApiFixture.cs │ │ ├── TokenClientFixture.cs │ │ └── UserInfoClientFixture.cs │ ├── FakeHttpClientFactory.cs │ ├── FakeStartup.cs │ ├── Introspection │ │ └── UserInfoIntrospectionHandlerFixture.cs │ ├── MiddleWares │ │ ├── FakeCustomAuthExtensions.cs │ │ ├── FakeOAuth2IntrospectionOptions.cs │ │ ├── FakeOauth2IntrospectionHandler.cs │ │ ├── FakeUserInfoIntrospectionHandler.cs │ │ ├── FakeUserInfoIntrospectionOptions.cs │ │ ├── TestAuthenticationHandler.cs │ │ └── TestAuthenticationOptions.cs │ ├── Services │ │ ├── CustomAuthenticateResourceOwnerService.cs │ │ └── DefaultEventPublisher.cs │ ├── SharedContext.cs │ ├── SimpleIdentityServer.Host.Tests.csproj │ ├── Sms │ │ └── SmsCodeFixture.cs │ ├── Stores │ │ └── DefaultStores.cs │ ├── TestOauthServerFixture.cs │ └── appsettings.json │ ├── SimpleIdentityServer.Scim.Client.Integration.Tests │ ├── ScimResourceFixture.cs │ └── SimpleIdentityServer.Scim.Client.Integration.Tests.csproj │ ├── SimpleIdentityServer.Scim.Client.Tests │ ├── FakeStartup.cs │ ├── GroupsClientFixture.cs │ ├── MiddleWares │ │ ├── FakeCustomAuthExtensions.cs │ │ ├── TestAuthenticationHandler.cs │ │ └── TestAuthenticationOptions.cs │ ├── SimpleIdentityServer.Scim.Client.Tests.csproj │ ├── TestScimServerFixture.cs │ ├── UsersClientFixture.cs │ ├── appsettings.json │ └── project.json │ ├── SimpleIdentityServer.Scim.Core.Tests │ ├── Apis │ │ ├── AddRepresentationActionFixture.cs │ │ ├── DeleteRepresentationActionFixture.cs │ │ ├── GetRepresentationActionFixture.cs │ │ ├── PatchRepresentationActionFixture.cs │ │ └── UpdateRepresentationActionFixture.cs │ ├── Fixture │ │ └── StoresFixture.cs │ ├── LinqSql │ │ └── TranslatorFixture.cs │ ├── Parsers │ │ ├── FilterParserFixture.cs │ │ ├── RepresentationRequestParserFixture.cs │ │ ├── RepresentationResponseParserFixture.cs │ │ └── SearchParameterParseFixture.cs │ ├── SimpleIdentityServer.Scim.Core.Tests.csproj │ ├── Validators │ │ └── ParametersValidatorFixture.cs │ └── project.json │ ├── SimpleIdentityServer.Uma.Core.UnitTests │ ├── Api │ │ ├── PermissionController │ │ │ └── Actions │ │ │ │ └── AddPermissionActionFixture.cs │ │ ├── PolicyController │ │ │ ├── AddAuthorizationPolicyActionFixture.cs │ │ │ ├── AddResourceSetToPolicyActionFixture.cs │ │ │ ├── DeleteAuthorizationPolicyActionFixture.cs │ │ │ ├── DeleteResourcePolicyActionFixture.cs │ │ │ ├── GetAuthorizationPoliciesActionFixture.cs │ │ │ ├── GetAuthorizationPolicyActionFixture.cs │ │ │ └── UpdatePolicyActionFixture.cs │ │ └── ResourceSetController │ │ │ └── Actions │ │ │ ├── AddResourceSetActionFixture.cs │ │ │ ├── GetAllResourceSetActionFixture.cs │ │ │ ├── GetPoliciesActionFixture.cs │ │ │ ├── GetResourceSetActionFixture.cs │ │ │ ├── RemoveResourceSetActionFixture.cs │ │ │ └── UpdateResourceSetActionFixture.cs │ ├── Policies │ │ ├── AuthorizationPolicyValidatorFixture.cs │ │ └── BasicAuthorizationPolicyFixture.cs │ ├── SimpleIdentityServer.Uma.Core.UnitTests.csproj │ └── Validators │ │ └── ResourceSetParameterValidatorFixture.cs │ ├── SimpleIdentityServer.Uma.Host.Tests │ ├── Fakes │ │ ├── FakeHttpClientFactory.cs │ │ ├── FakeIdentityServerClientFactory.cs │ │ └── FakeUmaStartup.cs │ ├── MiddleWares │ │ ├── FakeCustomAuthExtensions.cs │ │ ├── TestAuthenticationHandler.cs │ │ └── TestAuthenticationOptions.cs │ ├── PermissionFixture.cs │ ├── PolicyFixture.cs │ ├── ResourceFixture.cs │ ├── Services │ │ ├── DefaultConfigurationService.cs │ │ └── DefaultEventPublisher.cs │ ├── SharedContext.cs │ ├── SimpleIdentityServer.Uma.Host.Tests.csproj │ ├── Stores │ │ ├── OAuthStores.cs │ │ └── UmaStores.cs │ ├── TestUmaServerFixture.cs │ ├── TokenFixture.cs │ ├── appsettings.json │ └── project.json │ └── testCert.pfx ├── appveyor.yml ├── build.ps1 ├── extract-patch.cmd └── open-id-testing ├── RpConformance ├── basic │ ├── OpenID-Certification-Terms-and-Conditions.pdf │ ├── OpenID-Certification-of-Conformance.docx │ ├── OpenID-Certification-of-Conformance.pdf │ ├── README.txt │ └── code │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sig-none.log │ │ ├── rp-id_token-sig-none.txt │ │ ├── rp-id_token-sig-rs256.log │ │ ├── rp-id_token-sig-rs256.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-response_type-code.log │ │ ├── rp-response_type-code.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt ├── config │ ├── OpenID-Certification-Terms-and-Conditions.pdf │ ├── OpenID-Certification-of-Conformance.docx │ ├── OpenID-Certification-of-Conformance.pdf │ ├── README.txt │ └── code │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sig-none.log │ │ ├── rp-id_token-sig-none.txt │ │ ├── rp-id_token-sig-rs256.log │ │ ├── rp-id_token-sig-rs256.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-response_type-code.log │ │ ├── rp-response_type-code.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt ├── dynamic │ ├── OpenID-Certification-Terms-and-Conditions.pdf │ ├── OpenID-Certification-of-Conformance.docx │ ├── OpenID-Certification-of-Conformance.pdf │ ├── README.txt │ └── code │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sig-none.log │ │ ├── rp-id_token-sig-none.txt │ │ ├── rp-id_token-sig-rs256.log │ │ ├── rp-id_token-sig-rs256.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-response_type-code.log │ │ ├── rp-response_type-code.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt ├── hybrid │ ├── OpenID-Certification-Terms-and-Conditions.pdf │ ├── OpenID-Certification-of-Conformance.docx │ ├── OpenID-Certification-of-Conformance.pdf │ ├── README.txt │ ├── code+id_token+token │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-at_hash.log │ │ ├── rp-id_token-bad-at_hash.txt │ │ ├── rp-id_token-bad-c_hash.log │ │ ├── rp-id_token-bad-c_hash.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-nonce-unless-code-flow.log │ │ ├── rp-nonce-unless-code-flow.txt │ │ ├── rp-response_type-code+id_token+token.log │ │ ├── rp-response_type-code+id_token+token.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt │ ├── code+id_token │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-c_hash.log │ │ ├── rp-id_token-bad-c_hash.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sig-rs256.log │ │ ├── rp-id_token-sig-rs256.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-nonce-unless-code-flow.log │ │ ├── rp-nonce-unless-code-flow.txt │ │ ├── rp-response_type-code+id_token.log │ │ ├── rp-response_type-code+id_token.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt │ └── code+token │ │ ├── rp-id_token-aud.log │ │ ├── rp-id_token-aud.txt │ │ ├── rp-id_token-bad-sig-rs256.log │ │ ├── rp-id_token-bad-sig-rs256.txt │ │ ├── rp-id_token-iat.log │ │ ├── rp-id_token-iat.txt │ │ ├── rp-id_token-issuer-mismatch.log │ │ ├── rp-id_token-issuer-mismatch.txt │ │ ├── rp-id_token-kid-absent-multiple-jwks.log │ │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ │ ├── rp-id_token-kid-absent-single-jwks.log │ │ ├── rp-id_token-kid-absent-single-jwks.txt │ │ ├── rp-id_token-sig-rs256.log │ │ ├── rp-id_token-sig-rs256.txt │ │ ├── rp-id_token-sub.log │ │ ├── rp-id_token-sub.txt │ │ ├── rp-nonce-invalid.log │ │ ├── rp-nonce-invalid.txt │ │ ├── rp-nonce-unless-code-flow.log │ │ ├── rp-nonce-unless-code-flow.txt │ │ ├── rp-response_type-code+token.log │ │ ├── rp-response_type-code+token.txt │ │ ├── rp-scope-userinfo-claims.log │ │ ├── rp-scope-userinfo-claims.txt │ │ ├── rp-token_endpoint-client_secret_basic.log │ │ ├── rp-token_endpoint-client_secret_basic.txt │ │ ├── rp-userinfo-bad-sub-claim.log │ │ ├── rp-userinfo-bad-sub-claim.txt │ │ ├── rp-userinfo-bearer-body.log │ │ ├── rp-userinfo-bearer-body.txt │ │ ├── rp-userinfo-bearer-header.log │ │ └── rp-userinfo-bearer-header.txt └── implicit │ ├── OpenID-Certification-Terms-and-Conditions.pdf │ ├── OpenID-Certification-of-Conformance.docx │ ├── OpenID-Certification-of-Conformance.pdf │ ├── README.txt │ ├── id_token+token │ ├── rp-id_token-aud.log │ ├── rp-id_token-aud.txt │ ├── rp-id_token-bad-at_hash.log │ ├── rp-id_token-bad-at_hash.txt │ ├── rp-id_token-bad-sig-rs256.log │ ├── rp-id_token-bad-sig-rs256.txt │ ├── rp-id_token-iat.log │ ├── rp-id_token-iat.txt │ ├── rp-id_token-issuer-mismatch.log │ ├── rp-id_token-issuer-mismatch.txt │ ├── rp-id_token-kid-absent-multiple-jwks.log │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ ├── rp-id_token-kid-absent-single-jwks.log │ ├── rp-id_token-kid-absent-single-jwks.txt │ ├── rp-id_token-sig-rs256.log │ ├── rp-id_token-sig-rs256.txt │ ├── rp-id_token-sub.log │ ├── rp-id_token-sub.txt │ ├── rp-nonce-invalid.log │ ├── rp-nonce-invalid.txt │ ├── rp-nonce-unless-code-flow.log │ ├── rp-nonce-unless-code-flow.txt │ ├── rp-response_type-id_token+token.log │ ├── rp-response_type-id_token+token.txt │ ├── rp-scope-userinfo-claims.log │ ├── rp-scope-userinfo-claims.txt │ ├── rp-userinfo-bad-sub-claim.log │ ├── rp-userinfo-bad-sub-claim.txt │ ├── rp-userinfo-bearer-body.log │ ├── rp-userinfo-bearer-body.txt │ ├── rp-userinfo-bearer-header.log │ └── rp-userinfo-bearer-header.txt │ └── id_token │ ├── rp-id_token-aud.log │ ├── rp-id_token-aud.txt │ ├── rp-id_token-bad-sig-rs256.log │ ├── rp-id_token-bad-sig-rs256.txt │ ├── rp-id_token-iat.log │ ├── rp-id_token-iat.txt │ ├── rp-id_token-issuer-mismatch.log │ ├── rp-id_token-issuer-mismatch.txt │ ├── rp-id_token-kid-absent-multiple-jwks.log │ ├── rp-id_token-kid-absent-multiple-jwks.txt │ ├── rp-id_token-kid-absent-single-jwks.log │ ├── rp-id_token-kid-absent-single-jwks.txt │ ├── rp-id_token-sig-rs256.log │ ├── rp-id_token-sig-rs256.txt │ ├── rp-id_token-sub.log │ ├── rp-id_token-sub.txt │ ├── rp-nonce-invalid.log │ ├── rp-nonce-invalid.txt │ ├── rp-nonce-unless-code-flow.log │ ├── rp-nonce-unless-code-flow.txt │ ├── rp-response_type-id_token.log │ ├── rp-response_type-id_token.txt │ ├── rp-scope-userinfo-claims.log │ └── rp-scope-userinfo-claims.txt ├── SimpleIdentityServer-OP-Basic-19-January-2016 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf └── code.config.dynamic.sign │ ├── OP-ClientAuth-Basic-Dynamic.txt │ ├── OP-ClientAuth-SecretPost-Dynamic.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-RS256.txt │ ├── OP-IDToken-kid.txt │ ├── OP-OAuth-2nd-30s.txt │ ├── OP-OAuth-2nd-Revokes.txt │ ├── OP-OAuth-2nd.txt │ ├── OP-Registration-Dynamic.txt │ ├── OP-Registration-Endpoint.txt │ ├── OP-Registration-Sector-Bad.txt │ ├── OP-Registration-jwks.txt │ ├── OP-Registration-jwks_uri.txt │ ├── OP-Registration-logo_uri.png │ ├── OP-Registration-logo_uri.txt │ ├── OP-Registration-policy_uri.png │ ├── OP-Registration-policy_uri.txt │ ├── OP-Registration-tos_uri.png │ ├── OP-Registration-tos_uri.txt │ ├── OP-Req-NotUnderstood.txt │ ├── OP-Req-acr_values.txt │ ├── OP-Req-claims_locales.png │ ├── OP-Req-claims_locales.txt │ ├── OP-Req-id_token_hint.txt │ ├── OP-Req-login_hint.png │ ├── OP-Req-login_hint.txt │ ├── OP-Req-max_age=1.png │ ├── OP-Req-max_age=1.txt │ ├── OP-Req-max_age=10000.txt │ ├── OP-Req-ui_locales.png │ ├── OP-Req-ui_locales.txt │ ├── OP-Response-Missing.png │ ├── OP-Response-Missing.txt │ ├── OP-Response-code.txt │ ├── OP-Rotation-OP-Sig.txt │ ├── OP-Rotation-RP-Sig.txt │ ├── OP-UserInfo-Body.txt │ ├── OP-UserInfo-Endpoint.txt │ ├── OP-UserInfo-Header.txt │ ├── OP-UserInfo-RS256.txt │ ├── OP-claims-essential.txt │ ├── OP-display-page.png │ ├── OP-display-page.txt │ ├── OP-display-popup.png │ ├── OP-nonce-NoReq-code.txt │ ├── OP-nonce-code.txt │ ├── OP-prompt-login.png │ ├── OP-prompt-login.txt │ ├── OP-prompt-none-LoggedIn.txt │ ├── OP-prompt-none-NotLoggedIn.png │ ├── OP-redirect_uri-Missing.png │ ├── OP-redirect_uri-Missing.txt │ ├── OP-redirect_uri-NotReg.png │ ├── OP-redirect_uri-NotReg.txt │ ├── OP-redirect_uri-Query-Added.png │ ├── OP-redirect_uri-Query-Added.txt │ ├── OP-redirect_uri-Query-Mismatch.png │ ├── OP-redirect_uri-Query-Mismatch.txt │ ├── OP-redirect_uri-Query-OK.txt │ ├── OP-redirect_uri-RegFrag.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Sig.txt │ ├── OP-request_uri-Support.txt │ ├── OP-request_uri-Unsigned-Dynamic.txt │ ├── OP-scope-All.txt │ ├── OP-scope-address.txt │ ├── OP-scope-email.txt │ ├── OP-scope-phone.txt │ └── OP-scope-profile.txt ├── SimpleIdentityServer-OP-Basic-9-December-2015 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf ├── SimpleIdentityServer-OP-Basic-19-December-2015.zip └── code.config.static.sign │ ├── Conformance-Testing-Overview.png │ ├── OP-ClientAuth-Basic-Static.txt │ ├── OP-ClientAuth-SecretPost-Static.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-Signature.txt │ ├── OP-IDToken-kid.txt │ ├── OP-OAuth-2nd-30s.txt │ ├── OP-OAuth-2nd-Revokes.txt │ ├── OP-OAuth-2nd.txt │ ├── OP-Req-Login_hint.txt │ ├── OP-Req-NotUnderstood.txt │ ├── OP-Req-acr_values.txt │ ├── OP-Req-claims_locales.png │ ├── OP-Req-claims_locales.txt │ ├── OP-Req-id_token_hint.txt │ ├── OP-Req-max_age.png │ ├── OP-Req-max_age=1.png │ ├── OP-Req-max_age=1.txt │ ├── OP-Req-max_age=10000.txt │ ├── OP-Req-ui_locales.png │ ├── OP-Req-ui_locales.txt │ ├── OP-Response-Code.txt │ ├── OP-Response-Missing.png │ ├── OP-Response-Missing.txt │ ├── OP-UserInfo-Body.txt │ ├── OP-UserInfo-Endpoint.txt │ ├── OP-UserInfo-Header.txt │ ├── OP-claims-essential.txt │ ├── OP-display-page.png │ ├── OP-display-page.txt │ ├── OP-display-popup.png │ ├── OP-display-popup.txt │ ├── OP-nonce-NoReq-code.txt │ ├── OP-nonce-code.txt │ ├── OP-prompt-login.png │ ├── OP-prompt-login.txt │ ├── OP-prompt-none-LoggedIn.txt │ ├── OP-prompt-none-NotLoggedIn.png │ ├── OP-redirect_uri-NotReg.png │ ├── OP-redirect_uri-NotReg.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Unsigned.txt │ ├── OP-scope-All.txt │ ├── OP-scope-address.txt │ ├── OP-scope-email.txt │ ├── OP-scope-phone.txt │ └── OP-scope-profile.txt ├── SimpleIdentityServer-OP-Config-11-December-2015 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf ├── SimpleIdentityServer-OP-Config-11-December-2015.zip └── code.config.static.sign │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ └── OP-Discovery-jwks_uri.txt ├── SimpleIdentityServer-OP-Config-19-January-2016 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf └── code.config.dynamic.sign │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ └── OP-Discovery-jwks_uri.txt ├── SimpleIdentityServer-OP-Dynamic-19-January-2016 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf └── code.config.dynamic.sign │ ├── OP-ClientAuth-Basic-Dynamic.txt │ ├── OP-ClientAuth-SecretPost-Dynamic.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-RS256.txt │ ├── OP-Registration-Dynamic.txt │ ├── OP-Registration-Endpoint.txt │ ├── OP-Registration-Sector-Bad.txt │ ├── OP-Registration-jwks.txt │ ├── OP-Registration-jwks_uri.txt │ ├── OP-Registration-logo_uri.png │ ├── OP-Registration-logo_uri.txt │ ├── OP-Registration-policy_uri.png │ ├── OP-Registration-policy_uri.txt │ ├── OP-Registration-tos_uri.png │ ├── OP-Registration-tos_uri.txt │ ├── OP-Rotation-OP-Sig.txt │ ├── OP-Rotation-RP-Sig.txt │ ├── OP-UserInfo-RS256.txt │ ├── OP-redirect_uri-Missing.png │ ├── OP-redirect_uri-Missing.txt │ ├── OP-redirect_uri-Query-Added.png │ ├── OP-redirect_uri-Query-Added.txt │ ├── OP-redirect_uri-Query-Mismatch.png │ ├── OP-redirect_uri-Query-Mismatch.txt │ ├── OP-redirect_uri-Query-OK.txt │ ├── OP-redirect_uri-RegFrag.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Sig.txt │ ├── OP-request_uri-Support.txt │ └── OP-request_uri-Unsigned-Dynamic.txt ├── SimpleIdentityServer-OP-Hybrid-19-January-2016 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf ├── code+id_token+token.config.dynamic.sign │ ├── OP-ClientAuth-Basic-Dynamic.txt │ ├── OP-ClientAuth-SecretPost-Dynamic.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-RS256.txt │ ├── OP-IDToken-at_hash.txt │ ├── OP-IDToken-c_hash.txt │ ├── OP-IDToken-kid.txt │ ├── OP-OAuth-2nd-30s.txt │ ├── OP-OAuth-2nd-Revokes.txt │ ├── OP-OAuth-2nd.txt │ ├── OP-Registration-Dynamic.txt │ ├── OP-Registration-Endpoint.txt │ ├── OP-Registration-Sector-Bad.txt │ ├── OP-Registration-jwks.txt │ ├── OP-Registration-jwks_uri.txt │ ├── OP-Registration-logo_uri.png │ ├── OP-Registration-logo_uri.txt │ ├── OP-Registration-policy_uri.png │ ├── OP-Registration-policy_uri.txt │ ├── OP-Registration-tos_uri.png │ ├── OP-Registration-tos_uri.txt │ ├── OP-Req-NotUnderstood.txt │ ├── OP-Req-acr_values.txt │ ├── OP-Req-claims_locales.txt │ ├── OP-Req-id_token_hint.txt │ ├── OP-Req-login_hint.png │ ├── OP-Req-login_hint.txt │ ├── OP-Req-max_age=1.png │ ├── OP-Req-max_age=1.txt │ ├── OP-Req-max_age=10000.txt │ ├── OP-Req-ui_locales.png │ ├── OP-Req-ui_locales.txt │ ├── OP-Response-Missing.png │ ├── OP-Response-Missing.txt │ ├── OP-Response-code+id_token+token.txt │ ├── OP-Rotation-OP-Sig.txt │ ├── OP-Rotation-RP-Sig.txt │ ├── OP-UserInfo-Body.txt │ ├── OP-UserInfo-Endpoint.txt │ ├── OP-UserInfo-Header.txt │ ├── OP-UserInfo-RS256.txt │ ├── OP-claims-essential.txt │ ├── OP-display-page.png │ ├── OP-display-page.txt │ ├── OP-display-popup.png │ ├── OP-display-popup.txt │ ├── OP-nonce-NoReq-noncode.png │ ├── OP-nonce-NoReq-noncode.txt │ ├── OP-nonce-noncode.txt │ ├── OP-prompt-login.png │ ├── OP-prompt-login.txt │ ├── OP-prompt-none-LoggedIn.txt │ ├── OP-prompt-none-NotLoggedIn.png │ ├── OP-prompt-none-NotLoggedIn.txt │ ├── OP-redirect_uri-Missing.png │ ├── OP-redirect_uri-Missing.txt │ ├── OP-redirect_uri-NotReg.png │ ├── OP-redirect_uri-NotReg.txt │ ├── OP-redirect_uri-Query-Added.png │ ├── OP-redirect_uri-Query-Added.txt │ ├── OP-redirect_uri-Query-Mismatch.png │ ├── OP-redirect_uri-Query-Mismatch.txt │ ├── OP-redirect_uri-Query-OK.txt │ ├── OP-redirect_uri-RegFrag.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Sig.txt │ ├── OP-request_uri-Support.txt │ ├── OP-request_uri-Unsigned-Dynamic.txt │ ├── OP-scope-All.txt │ ├── OP-scope-address.txt │ ├── OP-scope-email.txt │ ├── OP-scope-phone.txt │ └── OP-scope-profile.txt ├── code+id_token.config.dynamic.sign │ ├── OP-ClientAuth-Basic-Dynamic.txt │ ├── OP-ClientAuth-SecretPost-Dynamic.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-RS256.txt │ ├── OP-IDToken-c_hash.txt │ ├── OP-IDToken-kid.txt │ ├── OP-OAuth-2nd-30s.txt │ ├── OP-OAuth-2nd-Revokes.txt │ ├── OP-OAuth-2nd.txt │ ├── OP-Registration-Dynamic.txt │ ├── OP-Registration-Endpoint.txt │ ├── OP-Registration-Sector-Bad.txt │ ├── OP-Registration-jwks.txt │ ├── OP-Registration-jwks_uri.txt │ ├── OP-Registration-logo_uri.png │ ├── OP-Registration-logo_uri.txt │ ├── OP-Registration-policy_uri.png │ ├── OP-Registration-policy_uri.txt │ ├── OP-Registration-tos_uri.png │ ├── OP-Registration-tos_uri.txt │ ├── OP-Req-NotUnderstood.txt │ ├── OP-Req-acr_values.txt │ ├── OP-Req-claims_locales.txt │ ├── OP-Req-id_token_hint.txt │ ├── OP-Req-login_hint.png │ ├── OP-Req-login_hint.txt │ ├── OP-Req-max_age=1.txt │ ├── OP-Req-max_age=10000.txt │ ├── OP-Req-ui_locales.png │ ├── OP-Req-ui_locales.txt │ ├── OP-Response-Missing.png │ ├── OP-Response-Missing.txt │ ├── OP-Response-code+id_token.txt │ ├── OP-Rotation-OP-Sig.txt │ ├── OP-Rotation-RP-Sig.txt │ ├── OP-UserInfo-Body.txt │ ├── OP-UserInfo-Endpoint.txt │ ├── OP-UserInfo-Header.txt │ ├── OP-UserInfo-RS256.txt │ ├── OP-claims-essential.txt │ ├── OP-display-page.png │ ├── OP-display-page.txt │ ├── OP-display-popup.png │ ├── OP-display-popup.txt │ ├── OP-nonce-NoReq-noncode.png │ ├── OP-nonce-NoReq-noncode.txt │ ├── OP-nonce-noncode.txt │ ├── OP-prompt-login.png │ ├── OP-prompt-login.txt │ ├── OP-prompt-none-LoggedIn.txt │ ├── OP-prompt-none-NotLoggedIn.png │ ├── OP-prompt-none-NotLoggedIn.txt │ ├── OP-redirect_uri-Missing.png │ ├── OP-redirect_uri-Missing.txt │ ├── OP-redirect_uri-NotReg.png │ ├── OP-redirect_uri-NotReg.txt │ ├── OP-redirect_uri-Query-Added.png │ ├── OP-redirect_uri-Query-Added.txt │ ├── OP-redirect_uri-Query-Mismatch.png │ ├── OP-redirect_uri-Query-Mismatch.txt │ ├── OP-redirect_uri-Query-OK.txt │ ├── OP-redirect_uri-RegFrag.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Sig.txt │ ├── OP-request_uri-Support.txt │ ├── OP-request_uri-Unsigned-Dynamic.txt │ ├── OP-scope-All.txt │ ├── OP-scope-address.txt │ ├── OP-scope-email.txt │ ├── OP-scope-phone.txt │ └── OP-scope-profile.txt └── code+token.config.dynamic.sign │ ├── OP-ClientAuth-Basic-Dynamic.txt │ ├── OP-ClientAuth-SecretPost-Dynamic.txt │ ├── OP-Discovery-Config.txt │ ├── OP-Discovery-JWKs.txt │ ├── OP-Discovery-claims_supported.txt │ ├── OP-Discovery-jwks_uri.txt │ ├── OP-IDToken-RS256.txt │ ├── OP-IDToken-kid.txt │ ├── OP-OAuth-2nd-30s.txt │ ├── OP-OAuth-2nd-Revokes.txt │ ├── OP-OAuth-2nd.txt │ ├── OP-Registration-Dynamic.txt │ ├── OP-Registration-Endpoint.txt │ ├── OP-Registration-Sector-Bad.txt │ ├── OP-Registration-jwks.txt │ ├── OP-Registration-jwks_uri.txt │ ├── OP-Registration-logo_uri.png │ ├── OP-Registration-logo_uri.txt │ ├── OP-Registration-policy_uri.png │ ├── OP-Registration-policy_uri.txt │ ├── OP-Registration-tos_uri.png │ ├── OP-Registration-tos_uri.txt │ ├── OP-Req-NotUnderstood.txt │ ├── OP-Req-acr_values.txt │ ├── OP-Req-claims_locales.txt │ ├── OP-Req-id_token_hint.txt │ ├── OP-Req-login_hint.png │ ├── OP-Req-login_hint.txt │ ├── OP-Req-max_age=1.txt │ ├── OP-Req-max_age=10000.txt │ ├── OP-Req-ui_locales.png │ ├── OP-Req-ui_locales.txt │ ├── OP-Response-Missing.png │ ├── OP-Response-Missing.txt │ ├── OP-Response-code+token.txt │ ├── OP-Rotation-OP-Sig.txt │ ├── OP-Rotation-RP-Sig.txt │ ├── OP-UserInfo-Body.txt │ ├── OP-UserInfo-Endpoint.txt │ ├── OP-UserInfo-Header.txt │ ├── OP-UserInfo-RS256.txt │ ├── OP-claims-essential.txt │ ├── OP-display-page.png │ ├── OP-display-page.txt │ ├── OP-display-popup.png │ ├── OP-display-popup.txt │ ├── OP-nonce-noncode.txt │ ├── OP-prompt-login.png │ ├── OP-prompt-login.txt │ ├── OP-prompt-none-LoggedIn.txt │ ├── OP-prompt-none-NotLoggedIn.png │ ├── OP-prompt-none-NotLoggedIn.txt │ ├── OP-redirect_uri-Missing.png │ ├── OP-redirect_uri-Missing.txt │ ├── OP-redirect_uri-NotReg.png │ ├── OP-redirect_uri-NotReg.txt │ ├── OP-redirect_uri-Query-Added.png │ ├── OP-redirect_uri-Query-Added.txt │ ├── OP-redirect_uri-Query-Mismatch.png │ ├── OP-redirect_uri-Query-Mismatch.txt │ ├── OP-redirect_uri-Query-OK.txt │ ├── OP-redirect_uri-RegFrag.txt │ ├── OP-request-Unsigned.txt │ ├── OP-request_uri-Sig.txt │ ├── OP-request_uri-Support.txt │ ├── OP-request_uri-Unsigned-Dynamic.txt │ ├── OP-scope-All.txt │ ├── OP-scope-address.txt │ ├── OP-scope-email.txt │ ├── OP-scope-phone.txt │ └── OP-scope-profile.txt └── SimpleIdentityServer-OP-Implicit-19-January-2016 ├── OpenID-Certification-Terms-and-Conditions.pdf ├── OpenID-Certification-of-Conformance.pdf ├── id_token+token.dynamic.sign ├── OP-Discovery-Config.txt ├── OP-Discovery-JWKs.txt ├── OP-Discovery-claims_supported.txt ├── OP-Discovery-jwks_uri.txt ├── OP-IDToken-RS256.txt ├── OP-IDToken-at_hash.txt ├── OP-IDToken-kid.txt ├── OP-Registration-Dynamic.txt ├── OP-Registration-Endpoint.txt ├── OP-Registration-Sector-Bad.txt ├── OP-Registration-logo_uri.png ├── OP-Registration-logo_uri.txt ├── OP-Registration-policy_uri.png ├── OP-Registration-policy_uri.txt ├── OP-Registration-tos_uri.png ├── OP-Registration-tos_uri.txt ├── OP-Req-NotUnderstood.txt ├── OP-Req-acr_values.txt ├── OP-Req-claims_locales.txt ├── OP-Req-id_token_hint.txt ├── OP-Req-login_hint.png ├── OP-Req-login_hint.txt ├── OP-Req-max_age=1.png ├── OP-Req-max_age=1.txt ├── OP-Req-max_age=10000.txt ├── OP-Req-ui_locales.png ├── OP-Req-ui_locales.txt ├── OP-Response-Missing.png ├── OP-Response-Missing.txt ├── OP-Response-id_token+token.txt ├── OP-Rotation-OP-Sig.txt ├── OP-UserInfo-Body.txt ├── OP-UserInfo-Endpoint.txt ├── OP-UserInfo-Header.txt ├── OP-UserInfo-RS256.txt ├── OP-claims-essential.txt ├── OP-display-page.png ├── OP-display-page.txt ├── OP-display-popup.png ├── OP-display-popup.txt ├── OP-nonce-NoReq-noncode.png ├── OP-nonce-NoReq-noncode.txt ├── OP-nonce-noncode.txt ├── OP-prompt-login.png ├── OP-prompt-login.txt ├── OP-prompt-none-LoggedIn.txt ├── OP-prompt-none-NotLoggedIn.png ├── OP-prompt-none-NotLoggedIn.txt ├── OP-redirect_uri-Missing.png ├── OP-redirect_uri-Missing.txt ├── OP-redirect_uri-NotReg.png ├── OP-redirect_uri-NotReg.txt ├── OP-redirect_uri-Query-Added.png ├── OP-redirect_uri-Query-Added.txt ├── OP-redirect_uri-Query-Mismatch.png ├── OP-redirect_uri-Query-Mismatch.txt ├── OP-redirect_uri-Query-OK.txt ├── OP-redirect_uri-RegFrag.txt ├── OP-request-Unsigned.txt ├── OP-request_uri-Sig.txt ├── OP-request_uri-Support.txt ├── OP-request_uri-Unsigned-Dynamic.txt ├── OP-scope-All.txt ├── OP-scope-address.txt ├── OP-scope-email.txt ├── OP-scope-phone.txt └── OP-scope-profile.txt └── id_token.config.dynamic.sign ├── OP-Discovery-Config.txt ├── OP-Discovery-JWKs.txt ├── OP-Discovery-claims_supported.txt ├── OP-Discovery-jwks_uri.txt ├── OP-IDToken-RS256.txt ├── OP-IDToken-kid.txt ├── OP-Registration-Dynamic.txt ├── OP-Registration-Endpoint.txt ├── OP-Registration-Sector-Bad.txt ├── OP-Registration-jwks.txt ├── OP-Registration-jwks_uri.txt ├── OP-Registration-logo_uri.png ├── OP-Registration-logo_uri.txt ├── OP-Registration-policy_uri.png ├── OP-Registration-policy_uri.txt ├── OP-Registration-tos_uri.png ├── OP-Registration-tos_uri.txt ├── OP-Req-NotUnderstood.txt ├── OP-Req-acr_values.txt ├── OP-Req-claims_locales.txt ├── OP-Req-id_token_hint.txt ├── OP-Req-login_hint.png ├── OP-Req-login_hint.txt ├── OP-Req-max_age=1.png ├── OP-Req-max_age=1.txt ├── OP-Req-max_age=10000.txt ├── OP-Req-ui_locales.png ├── OP-Req-ui_locales.txt ├── OP-Response-Missing.png ├── OP-Response-Missing.txt ├── OP-Response-id_token.txt ├── OP-Rotation-OP-Sig.txt ├── OP-Rotation-RP-Sig.txt ├── OP-claims-essential.txt ├── OP-display-page.png ├── OP-display-page.txt ├── OP-display-popup.png ├── OP-display-popup.txt ├── OP-nonce-NoReq-noncode.png ├── OP-nonce-NoReq-noncode.txt ├── OP-nonce-noncode.txt ├── OP-prompt-login.png ├── OP-prompt-login.txt ├── OP-prompt-none-LoggedIn.txt ├── OP-prompt-none-NotLoggedIn.png ├── OP-prompt-none-NotLoggedIn.txt ├── OP-redirect_uri-Missing.png ├── OP-redirect_uri-Missing.txt ├── OP-redirect_uri-NotReg.png ├── OP-redirect_uri-NotReg.txt ├── OP-redirect_uri-Query-Added.png ├── OP-redirect_uri-Query-Added.txt ├── OP-redirect_uri-Query-Mismatch.png ├── OP-redirect_uri-Query-Mismatch.txt ├── OP-redirect_uri-Query-OK.txt ├── OP-redirect_uri-RegFrag.txt ├── OP-request-Unsigned.txt ├── OP-request_uri-Sig.txt ├── OP-request_uri-Support.txt ├── OP-request_uri-Unsigned-Dynamic.txt ├── OP-scope-All.txt ├── OP-scope-address.txt ├── OP-scope-email.txt ├── OP-scope-phone.txt └── OP-scope-profile.txt /README.md: -------------------------------------------------------------------------------- 1 | # SimpleIdentityServer.Core (DEPRECATED - no longer actively maintained. Please visit the project https://github.com/simpleidserver/SimpleIdServer) 2 | 3 | [![Build status](https://ci.appveyor.com/api/projects/status/u1ksy7m4pdl7y49m?svg=true)](https://ci.appveyor.com/project/thabart/simpleidentityserver) 4 | 5 | Nuget V3 feed URL (Visual Studio 2015+) : https://www.myget.org/F/advance-ict/api/v3/index.json 6 | 7 | [Samples](https://github.com/thabart/SimpleIdentityServer.Samples) 8 | 9 | [Commercial tools](https://github.com/ddonabedian/SimpleIdentityServerTools) 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/launch-samples.cmd: -------------------------------------------------------------------------------- 1 | set ASPNETCORE_ENVIRONMENT= 2 | set DATA_MIGRATED=true 3 | START cmd /k "cd samples/SimpleIdentityServer.Openid.Server && dotnet run -f net461" 4 | START cmd /k "cd samples/SimpleIdentityServer.Protected.Api && dotnet run -f net461" 5 | echo Applications are running ... -------------------------------------------------------------------------------- /SimpleIdentityServer/launch.cmd: -------------------------------------------------------------------------------- 1 | set ASPNETCORE_ENVIRONMENT= 2 | set DATA_MIGRATED=true 3 | START cmd /k "cd src/Apis/SimpleIdServer/SimpleIdentityServer.Startup && dotnet run -f net461" 4 | START cmd /k "cd src/Apis/Uma/SimpleIdentityServer.Uma.Startup && dotnet run -f net461" 5 | START cmd /k "cd src/Apis/Scim/SimpleIdentityServer.Scim.Startup && dotnet run -f net461" 6 | echo Applications are running ... -------------------------------------------------------------------------------- /SimpleIdentityServer/samples/SimpleIdentityServer.Openid.Server/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Openid.Server": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "ASPNETCORE_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/samples/SimpleIdentityServer.Protected.Api/Controllers/ApiController.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication.JwtBearer; 2 | using Microsoft.AspNetCore.Authorization; 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | namespace SimpleIdentityServer.Protected.Api.Controllers 6 | { 7 | [Route("api")] 8 | public class ApiController : Controller 9 | { 10 | [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] 11 | public IActionResult Index() 12 | { 13 | return Content("An API listing authors of docs.asp.net."); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/samples/SimpleIdentityServer.Protected.Api/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Host.Integration.Tests": { 4 | "commandName": "Project", 5 | "environmentVariables": { 6 | "ASPNETCORE_ENVIRONMENT": "Development" 7 | } 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/samples/certificate_prk.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/samples/certificate_prk.pfx -------------------------------------------------------------------------------- /SimpleIdentityServer/samples/certificate_puk.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/samples/certificate_puk.cer -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/DefaultEventPublisher.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | internal sealed class DefaultEventPublisher : IEventPublisher 4 | { 5 | public void Publish(T evt) where T : Event 6 | { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/IEventHandler.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | public interface IEventHandler 4 | { 5 | 6 | } 7 | 8 | public interface IEventHandler : IEventHandler where T : Event 9 | { 10 | void Handle(T evt); 11 | } 12 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/IEventPublisher.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | public interface IEventPublisher 4 | { 5 | void Publish(T evt) where T : Event; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/IEventSubscriber.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | public interface IEventSubscriber 4 | { 5 | void Listen(); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/SerializedMessage.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | public class SerializedMessage 4 | { 5 | public string AssemblyQualifiedName { get; set; } 6 | public string Content { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using System; 3 | 4 | namespace SimpleIdServer.Bus 5 | { 6 | public static class ServiceCollectionExtensions 7 | { 8 | public static IServiceCollection AddDefaultSimpleBus(this IServiceCollection services) 9 | { 10 | if (services == null) 11 | { 12 | throw new ArgumentNullException(nameof(services)); 13 | } 14 | 15 | services.AddSingleton(new DefaultEventPublisher()); 16 | return services; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Bus/SimpleBusOptions.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdServer.Bus 2 | { 3 | public class SimpleBusOptions 4 | { 5 | public string ServerName { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Concurrency/ConcurrentObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdServer.Concurrency 4 | { 5 | public class ConcurrentObject 6 | { 7 | public string Etag { get; set; } 8 | public DateTime DateTime { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/DatedRecord.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdServer.Storage 4 | { 5 | public class DatedRecord 6 | { 7 | public DateTime CreateDate { get; set; } 8 | public T Obj { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/IStorage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | 4 | namespace SimpleIdServer.Storage 5 | { 6 | public interface IStorage 7 | { 8 | object TryGetValue(string key); 9 | Task TryGetValueAsync(string key); 10 | T TryGetValue(string key) where T : class, new(); 11 | Task TryGetValueAsync(string key) where T : class, new(); 12 | void Set(string key, object value); 13 | Task SetAsync(string key, object value); 14 | void Remove(string key); 15 | Task RemoveAsync(string key); 16 | void RemoveAll(); 17 | Task RemoveAllAsync(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/InMemoryStorageModule.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Module; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace SimpleIdServer.Storage 6 | { 7 | public class InMemoryStorageModule : IModule 8 | { 9 | public void Init(IDictionary options) 10 | { 11 | AspPipelineContext.Instance().ConfigureServiceContext.Initialized += HandleServiceContextInitialized; 12 | } 13 | 14 | private void HandleServiceContextInitialized(object sender, EventArgs e) 15 | { 16 | AspPipelineContext.Instance().ConfigureServiceContext.Services.AddStorage(opts => opts.UseInMemoryStorage()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: InternalsVisibleTo("WebApiContrib.Core.Concurrency.Tests")] 6 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/Record.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdServer.Storage 4 | { 5 | public class Record 6 | { 7 | public object Obj { get; set; } 8 | public string Key { get; set; } 9 | public DateTimeOffset? AbsoluteExpiration { get; set; } 10 | public TimeSpan? SlidingExpiration { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/StorageOptionsBuilder.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | 3 | namespace SimpleIdServer.Storage 4 | { 5 | public class StorageOptionsBuilder 6 | { 7 | public StorageOptionsBuilder(IServiceCollection serviceCollection) 8 | { 9 | ServiceCollection = serviceCollection; 10 | } 11 | 12 | public IServiceCollection ServiceCollection { get; private set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdServer.Storage/StorageOptionsBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using System; 3 | 4 | namespace SimpleIdServer.Storage 5 | { 6 | public static class StorageOptionsBuilderExtensions 7 | { 8 | public static void UseInMemoryStorage(this StorageOptionsBuilder builder) 9 | { 10 | if (builder == null) 11 | { 12 | throw new ArgumentNullException(nameof(builder)); 13 | } 14 | 15 | builder.ServiceCollection.AddMemoryCache(); 16 | builder.ServiceCollection.AddSingleton(); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.AccessToken.Store/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using System; 3 | 4 | namespace SimpleIdentityServer.AccessToken.Store 5 | { 6 | public static class ServiceCollectionExtensions 7 | { 8 | public static IServiceCollection AddDefaultAccessTokenStore(this IServiceCollection serviceCollection) 9 | { 10 | if (serviceCollection == null) 11 | { 12 | throw new ArgumentNullException(nameof(serviceCollection)); 13 | } 14 | 15 | serviceCollection.AddSingleton(); 16 | return serviceCollection; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.AccessToken.Store/StoredToken.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.DTOs.Responses; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace SimpleIdentityServer.AccessToken.Store 6 | { 7 | public class StoredToken 8 | { 9 | public StoredToken() 10 | { 11 | Scopes = new List(); 12 | } 13 | 14 | public string Url { get; set; } 15 | public IEnumerable Scopes { get; set; } 16 | public GrantedTokenResponse GrantedToken { get; set; } 17 | public DateTime ExpirationDateTime { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Client/BaseResponse.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Dtos.Responses; 2 | using System.Net; 3 | 4 | namespace SimpleIdentityServer.Common.Client 5 | { 6 | public class BaseResponse 7 | { 8 | public HttpStatusCode HttpStatus { get; set; } 9 | public bool ContainsError { get; set; } 10 | public ErrorResponse Error { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Client/Factories/HttpClientFactory.cs: -------------------------------------------------------------------------------- 1 | using System.Net.Http; 2 | 3 | namespace SimpleIdentityServer.Common.Client.Factories 4 | { 5 | public interface IHttpClientFactory 6 | { 7 | HttpClient GetHttpClient(); 8 | } 9 | 10 | public class HttpClientFactory : IHttpClientFactory 11 | { 12 | private readonly HttpClient _httpClient; 13 | 14 | public HttpClientFactory() 15 | { 16 | _httpClient = new HttpClient(); 17 | } 18 | 19 | public HttpClient GetHttpClient() 20 | { 21 | return _httpClient; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Client/SimpleIdentityServer.Common.Client.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0;net461 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Dtos/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Common.Dtos 2 | { 3 | internal static class Constants 4 | { 5 | public static class ErrorResponseNames 6 | { 7 | public const string Error = "error"; 8 | public const string ErrorDescription = "error_description"; 9 | public const string ErrorUri = "error_uri"; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Dtos/Responses/ErrorResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace SimpleIdentityServer.Common.Dtos.Responses 4 | { 5 | [DataContract] 6 | public class ErrorResponse 7 | { 8 | [DataMember(Name = Constants.ErrorResponseNames.Error)] 9 | public string Error { get; set; } 10 | [DataMember(Name = Constants.ErrorResponseNames.ErrorDescription)] 11 | public string ErrorDescription { get; set; } 12 | [DataMember(Name = Constants.ErrorResponseNames.ErrorUri)] 13 | public string ErrorUri { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Common.Dtos/SimpleIdentityServer.Common.Dtos.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0;net461 4 | 5 | 6 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Logging/EventTasks.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Logging 2 | { 3 | public static class EventTasks 4 | { 5 | public const string Failure = "Failure"; 6 | public const string Information = "Info"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Logging/TechnicalEventSource.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.Logging; 2 | 3 | namespace SimpleIdentityServer.Logging 4 | { 5 | public interface ITechnicalEventSource : IEventSource 6 | { 7 | 8 | } 9 | 10 | public class TechnicalEventSource : BaseEventSource, ITechnicalEventSource 11 | { 12 | #region Constructor 13 | 14 | public TechnicalEventSource(ILoggerFactory loggerFactory) : base(loggerFactory.CreateLogger()) 15 | { 16 | } 17 | 18 | #endregion 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Module/IModule.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Module 4 | { 5 | public interface IModule 6 | { 7 | void Init(IDictionary options); 8 | } 9 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Common/SimpleIdentityServer.Module/ModuleException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.Module 4 | { 5 | public class ModuleException : Exception 6 | { 7 | public ModuleException(string code, string message) : base(message) 8 | { 9 | Code = code; 10 | } 11 | 12 | public string Code { get; private set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Client/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using System; 3 | 4 | namespace SimpleIdentityServer.Scim.Client 5 | { 6 | 7 | public static class ServiceCollectionExtensions 8 | { 9 | public static IServiceCollection AddScimClient(this IServiceCollection services) 10 | { 11 | if (services == null) 12 | { 13 | throw new ArgumentNullException(nameof(services)); 14 | } 15 | 16 | services.AddTransient(); 17 | return services; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Core/EF/Models/Representation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Scim.Core.EF.Models 5 | { 6 | public class Representation 7 | { 8 | public string Id { get; set; } 9 | public string ResourceType { get; set; } 10 | public DateTime Created { get; set; } 11 | public DateTime LastModified { get; set; } 12 | public string Version { get; set; } 13 | public virtual List Attributes { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Core/EF/Models/RepresentationAttributeValue.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Scim.Core.EF.Models 2 | { 3 | public class RepresentationAttributeValue 4 | { 5 | public string Id { get; set; } 6 | public string RepresentationAttributeId { get; set; } 7 | public string Value { get; set; } 8 | public virtual RepresentationAttribute RepresentationAttribute { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Core/Results/PaginatedResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Scim.Core.Results 4 | { 5 | public class PaginatedResult 6 | { 7 | public int StartIndex { get; set; } 8 | public int Count { get; set; } 9 | public IEnumerable Content { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Db.EF/ServiceCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Extensions.DependencyInjection; 2 | using SimpleIdentityServer.Scim.Core.Stores; 3 | using SimpleIdentityServer.Scim.Db.EF.Stores; 4 | 5 | namespace SimpleIdentityServer.Scim.Db.EF 6 | { 7 | public static class ServiceCollectionExtensions 8 | { 9 | public static IServiceCollection AddScimRepository(this IServiceCollection serviceCollection) 10 | { 11 | serviceCollection.AddTransient(); 12 | serviceCollection.AddTransient(); 13 | return serviceCollection; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/AddGroupFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class AddGroupFinished : Event 6 | { 7 | public AddGroupFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/AddGroupReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class AddGroupReceived : Event 6 | { 7 | public AddGroupReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/AddUserFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class AddUserFinished : Event 6 | { 7 | public AddUserFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/AddUserReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class AddUserReceived : Event 6 | { 7 | public AddUserReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/PatchGroupFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class PatchGroupFinished : Event 6 | { 7 | public PatchGroupFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/PatchGroupReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class PatchGroupReceived : Event 6 | { 7 | public PatchGroupReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/PatchUserFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class PatchUserFinished : Event 6 | { 7 | public PatchUserFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/PatchUserReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class PatchUserReceived : Event 6 | { 7 | public PatchUserReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/RemoveGroupFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class RemoveGroupFinished : Event 6 | { 7 | public RemoveGroupFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/RemoveGroupReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class RemoveGroupReceived : Event 6 | { 7 | public RemoveGroupReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/RemoveUserFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class RemoveUserFinished : Event 6 | { 7 | public RemoveUserFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/RemoveUserReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class RemoveUserReceived : Event 6 | { 7 | public RemoveUserReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/ScimErrorReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class ScimErrorReceived : Event 6 | { 7 | public ScimErrorReceived(string id, string processId, string message, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Message = message; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Message { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/UpdateGroupFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class UpdateGroupFinished : Event 6 | { 7 | public UpdateGroupFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/UpdateGroupReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class UpdateGroupReceived : Event 6 | { 7 | public UpdateGroupReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/UpdateUserFinished.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class UpdateUserFinished : Event 6 | { 7 | public UpdateUserFinished(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Events/UpdateUserReceived.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Scim.Events 4 | { 5 | public class UpdateUserReceived : Event 6 | { 7 | public UpdateUserReceived(string id, string processId, string payload, int order) 8 | { 9 | Id = id; 10 | ProcessId = processId; 11 | Payload = payload; 12 | Order = order; 13 | } 14 | 15 | public string Id { get; private set; } 16 | public string ProcessId { get; private set; } 17 | public string Payload { get; private set; } 18 | public int Order { get; private set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Host/ScimServerOptions.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Scim.Core.EF.Models; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Scim.Host 5 | { 6 | public class ScimServerConfiguration 7 | { 8 | public List Representations { get; set; } 9 | public List Schemas { get; set; } 10 | } 11 | 12 | public class ScimServerOptions 13 | { 14 | public ScimServerConfiguration ServerConfiguration { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Mapping/IAttributeMapper.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Scim.Common.Models; 2 | using System.Threading.Tasks; 3 | 4 | namespace SimpleIdentityServer.Scim.Mapping 5 | { 6 | public interface IAttributeMapper 7 | { 8 | Task Map(Representation representation, string schemaId); 9 | } 10 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Startup/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Scim.Startup 2 | { 3 | public static class Constants 4 | { 5 | public static class AttributeNames 6 | { 7 | public const string Age = "age"; 8 | public const string Gender = "gender"; 9 | public const string Ethnicity = "ethnicity"; 10 | public const string BirthDate = "birthDate"; 11 | public const string Location = "location"; 12 | public const string Latitude = "lat"; 13 | public const string Longitutde = "long"; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Scim.Startup": { 4 | "commandName": "Project", 5 | "commandLineArgs": "http://localhost:5555" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Scim/SimpleIdentityServer.Scim.Startup/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Verbose", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "Data": { 11 | "DefaultConnection": { 12 | "ConnectionString": "Data Source=.;Initial Catalog=Scim;Integrated Security=True;" 13 | } 14 | }, 15 | "Db": { 16 | "type": "SqlServer" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.Client/Results/AddFilterResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.AccountFilter.Basic.Common.Responses; 2 | using SimpleIdentityServer.Common.Client; 3 | 4 | namespace SimpleIdentityServer.AccountFilter.Basic.Client.Results 5 | { 6 | public class AddFilterResult : BaseResponse 7 | { 8 | public AddFilterResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.Client/Results/GetAllFiltersResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.AccountFilter.Basic.Common.Responses; 2 | using SimpleIdentityServer.Common.Client; 3 | using System.Collections.Generic; 4 | 5 | namespace SimpleIdentityServer.AccountFilter.Basic.Client.Results 6 | { 7 | public class GetAllFiltersResult : BaseResponse 8 | { 9 | public IEnumerable Content { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.Client/Results/GetFilterResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.AccountFilter.Basic.Common.Responses; 2 | using SimpleIdentityServer.Common.Client; 3 | using System.Collections.Generic; 4 | 5 | namespace SimpleIdentityServer.AccountFilter.Basic.Client.Results 6 | { 7 | public class GetFilterResult : BaseResponse 8 | { 9 | public FilterResponse Content { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.Common/ComparisonOperationsDto.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Converters; 3 | using System.Runtime.Serialization; 4 | 5 | namespace SimpleIdentityServer.AccountFilter.Basic.Common 6 | { 7 | [DataContract] 8 | public enum ComparisonOperationsDto 9 | { 10 | [EnumMember(Value = Constants.ComparisonOperationsDtoNames.Equal)] 11 | Equal, 12 | [EnumMember(Value = Constants.ComparisonOperationsDtoNames.NotEqual)] 13 | NotEqual, 14 | [EnumMember(Value = Constants.ComparisonOperationsDtoNames.RegularExpression)] 15 | RegularExpression 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.Common/Responses/AddFilterResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace SimpleIdentityServer.AccountFilter.Basic.Common.Responses 4 | { 5 | [DataContract] 6 | public class AddFilterResponse 7 | { 8 | [DataMember(Name = Constants.FilterResponseNames.Id)] 9 | public string Id { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.EF/Models/Filter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.AccountFilter.Basic.EF.Models 5 | { 6 | public class Filter 7 | { 8 | public string Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTime CreateDateTime { get; set; } 11 | public DateTime UpdateDateTime { get; set; } 12 | public virtual ICollection Rules { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic.EF/Models/FilterRule.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.AccountFilter.Basic.EF.Models 2 | { 3 | public class FilterRule 4 | { 5 | public string Id { get; set; } 6 | public string FilterId { get; set; } 7 | public string ClaimKey { get; set; } 8 | public string ClaimValue { get; set; } 9 | public int Operation { get; set; } 10 | public virtual Filter Filter { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic/Aggregates/FilterAggregate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.AccountFilter.Basic.Aggregates 5 | { 6 | public sealed class FilterAggregate 7 | { 8 | public string Id { get; set; } 9 | public string Name { get; set; } 10 | public DateTime CreateDateTime { get; set; } 11 | public DateTime UpdateDateTime { get; set; } 12 | public IEnumerable Rules { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic/Aggregates/FilterAggregateRule.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.AccountFilter.Basic.Aggregates 2 | { 3 | public enum ComparisonOperations 4 | { 5 | Equal, 6 | NotEqual, 7 | RegularExpression 8 | } 9 | 10 | public sealed class FilterAggregateRule 11 | { 12 | public string Id { get; set; } 13 | public string ClaimKey { get; set; } 14 | public string ClaimValue { get; set; } 15 | public ComparisonOperations Operation { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter.Basic/Repositories/IFilterRepository.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.AccountFilter.Basic.Aggregates; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | 5 | namespace SimpleIdentityServer.AccountFilter.Basic.Repositories 6 | { 7 | public interface IFilterRepository 8 | { 9 | Task> GetAll(); 10 | Task Add(FilterAggregate filter); 11 | Task Delete(string filterId); 12 | Task Get(string id); 13 | Task Update(FilterAggregate filter); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.AccountFilter/IAccountFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | using System.Threading.Tasks; 4 | 5 | namespace SimpleIdentityServer.AccountFilter 6 | { 7 | public interface IAccountFilter 8 | { 9 | Task Check(IEnumerable claims); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.Basic/BasicAuthenticateOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Authenticate.Basic 4 | { 5 | public class BasicAuthenticateOptions 6 | { 7 | public BasicAuthenticateOptions() 8 | { 9 | ClaimsIncludedInUserCreation = new List(); 10 | } 11 | 12 | /// 13 | /// List of claims include when the resource owner is created. 14 | /// If the list is empty then all the claims are included. 15 | /// 16 | public IEnumerable ClaimsIncludedInUserCreation { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.Basic/SimpleIdentityServer.Authenticate.Basic.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net461;netcoreapp2.0 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.Basic/ViewModels/IdProviderViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.Basic.ViewModels 2 | { 3 | public class IdProviderViewModel 4 | { 5 | public string AuthenticationScheme { get; set; } 6 | public string DisplayName { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.LoginPassword/Areas/pwd/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Areas/Shell/Views/Shared/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.LoginPassword/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.LoginPassword 2 | { 3 | internal static class Constants 4 | { 5 | public const string AMR = "pwd"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.LoginPassword/ViewModels/LocalAuthenticationViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.LoginPassword.ViewModels 2 | { 3 | public class LocalAuthenticationViewModel 4 | { 5 | public string Login { get; set; } 6 | public string Password { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.LoginPassword/ViewModels/OpenidLocalAuthenticationViewModel.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Authenticate.Basic.ViewModels; 2 | 3 | namespace SimpleIdentityServer.Authenticate.LoginPassword.ViewModels 4 | { 5 | public class OpenidLocalAuthenticationViewModel : AuthorizeOpenIdViewModel 6 | { 7 | public string Login { get; set; } 8 | public string Password { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS.Common/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.SMS.Common 2 | { 3 | public static class Constants 4 | { 5 | public static class ConfirmationCodeRequestNames 6 | { 7 | public const string PhoneNumber = "phone_number"; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS.Common/Requests/ConfirmationCodeRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace SimpleIdentityServer.Authenticate.SMS.Common.Requests 4 | { 5 | [DataContract] 6 | public class ConfirmationCodeRequest 7 | { 8 | [DataMember(Name = Constants.ConfirmationCodeRequestNames.PhoneNumber)] 9 | public string PhoneNumber { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS.Common/SimpleIdentityServer.Authenticate.SMS.Common.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | netstandard2.0;net461 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/Areas/sms/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Areas/Shell/Views/Shared/_Layout.cshtml"; 3 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.SMS 2 | { 3 | internal static class Constants 4 | { 5 | public const string AMR = "sms"; 6 | public const string CodeController = "code"; 7 | } 8 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/SmsAuthenticationOptions.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Authenticate.Basic; 2 | using SimpleIdentityServer.Twilio.Client; 3 | 4 | namespace SimpleIdentityServer.Authenticate.SMS 5 | { 6 | public class SmsAuthenticationOptions : BasicAuthenticateOptions 7 | { 8 | public SmsAuthenticationOptions() 9 | { 10 | Message = "The confirmation code is {0}"; 11 | TwilioSmsCredentials = new TwilioSmsCredentials(); 12 | } 13 | 14 | public TwilioSmsCredentials TwilioSmsCredentials { get; set; } 15 | public string Message { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/ViewModels/ConfirmCodeViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Authenticate.SMS.ViewModels 2 | { 3 | public class ConfirmCodeViewModel 4 | { 5 | public string Code { get; set; } 6 | public string ConfirmationCode { get; set; } 7 | public string Action { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/ViewModels/LocalAuthenticationViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace SimpleIdentityServer.Authenticate.SMS.ViewModels 4 | { 5 | public class LocalAuthenticationViewModel 6 | { 7 | [Required] 8 | public string PhoneNumber { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Authenticate.SMS/ViewModels/OpenidLocalAuthenticationViewModel.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Authenticate.Basic.ViewModels; 2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace SimpleIdentityServer.Authenticate.SMS.ViewModels 5 | { 6 | public class OpenidLocalAuthenticationViewModel : AuthorizeOpenIdViewModel 7 | { 8 | [Required] 9 | public string PhoneNumber { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/BaseSidResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.DTOs.Responses; 2 | using System.Net; 3 | 4 | namespace SimpleIdentityServer.Client.Results 5 | { 6 | public class BaseSidResult 7 | { 8 | public bool ContainsError { get; set; } 9 | public ErrorResponseWithState Error { get; set;} 10 | public HttpStatusCode Status { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetAuthorizationResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.Client.Results 4 | { 5 | public class GetAuthorizationResult : BaseSidResult 6 | { 7 | public Uri Location { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetIntrospectionResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.DTOs.Responses; 2 | 3 | namespace SimpleIdentityServer.Client.Results 4 | { 5 | public class GetIntrospectionResult : BaseSidResult 6 | { 7 | public IntrospectionResponse Content { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetRegisterClientResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.DTOs.Responses; 2 | 3 | namespace SimpleIdentityServer.Client.Results 4 | { 5 | public class GetRegisterClientResult : BaseSidResult 6 | { 7 | public ClientRegistrationResponse Content { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetRevokeTokenResult.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Client.Results 2 | { 3 | public class GetRevokeTokenResult : BaseSidResult 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetTokenResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.DTOs.Responses; 2 | 3 | namespace SimpleIdentityServer.Client.Results 4 | { 5 | public class GetTokenResult : BaseSidResult 6 | { 7 | public GrantedTokenResponse Content { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/Results/GetUserInfoResult.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json.Linq; 2 | 3 | namespace SimpleIdentityServer.Client.Results 4 | { 5 | public class GetUserInfoResult : BaseSidResult 6 | { 7 | public JObject Content { get; set; } 8 | public string JwtToken { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Client/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/DTOs/Requests/RevokeSessionRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace SimpleIdentityServer.Core.Common.DTOs.Requests 4 | { 5 | [DataContract] 6 | public class RevokeSessionRequest 7 | { 8 | [DataMember(Name = RevokeSessionRequestNames.IdTokenHint)] 9 | public string IdTokenHint { get; set; } 10 | [DataMember(Name = RevokeSessionRequestNames.PostLogoutRedirectUri)] 11 | public string PostLogoutRedirectUri { get; set; } 12 | [DataMember(Name = RevokeSessionRequestNames.State)] 13 | public string State { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/DTOs/Responses/ErrorResponseWithState.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | using SimpleIdentityServer.Common.Dtos.Responses; 3 | 4 | namespace SimpleIdentityServer.Core.Common.DTOs.Responses 5 | { 6 | [DataContract] 7 | public class ErrorResponseWithState : ErrorResponse 8 | { 9 | [DataMember(Name = ErrorResponseWithStateNames.State)] 10 | public string State { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Models/ClaimAggregate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.Core.Common.Models 4 | { 5 | public class ClaimAggregate 6 | { 7 | public ClaimAggregate() { } 8 | 9 | public ClaimAggregate(string code, string value) 10 | { 11 | Code = code; 12 | Value = value; 13 | } 14 | 15 | public string Code { get; set; } 16 | public string Value { get; set; } 17 | public bool IsIdentifier { get; set; } 18 | public DateTime CreateDateTime { get; set; } 19 | public DateTime UpdateDateTime { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Models/CodeChallengeMethods.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Common.Models 2 | { 3 | public enum CodeChallengeMethods 4 | { 5 | Plain, 6 | RS256 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Parameters/AddClaimParameter.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Common.Parameters 2 | { 3 | public class AddClaimParameter 4 | { 5 | public string Code { get; set; } 6 | public bool IsIdentifier { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Parameters/OrderParameter.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Common.Parameters 2 | { 3 | public enum OrderTypes 4 | { 5 | Asc, 6 | Desc 7 | } 8 | 9 | public class OrderParameter 10 | { 11 | public string Target { get; set; } 12 | public OrderTypes Type { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Parameters/SearchProfileParameter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Core.Common.Parameters 4 | { 5 | public class SearchProfileParameter 6 | { 7 | public SearchProfileParameter() 8 | { 9 | ResourceOwnerIds = new List(); 10 | Issuers = new List(); 11 | } 12 | 13 | public IEnumerable ResourceOwnerIds { get; set; } 14 | public IEnumerable Issuers { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Repositories/IProfileRepository.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using SimpleIdentityServer.Core.Common.Parameters; 3 | using System.Collections.Generic; 4 | using System.Threading.Tasks; 5 | 6 | namespace SimpleIdentityServer.Core.Common.Repositories 7 | { 8 | public interface IProfileRepository 9 | { 10 | Task Get(string subject); 11 | Task Add(IEnumerable profiles); 12 | Task> Search(SearchProfileParameter parameter); 13 | Task Remove(IEnumerable subjects); 14 | } 15 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Results/SearchClaimsResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Core.Common.Results 5 | { 6 | public class SearchClaimsResult 7 | { 8 | public IEnumerable Content { get; set; } 9 | public int TotalResults { get; set; } 10 | public int StartIndex { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Results/SearchClientResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Core.Results 5 | { 6 | public class SearchClientResult 7 | { 8 | public IEnumerable Content { get; set; } 9 | public int TotalResults { get; set; } 10 | public int StartIndex { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Common/Results/SearchScopeResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Core.Common.Results 5 | { 6 | public class SearchScopeResult 7 | { 8 | public IEnumerable Content { get; set; } 9 | public int TotalResults { get; set; } 10 | public int StartIndex { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Jwt/JweGeneratorFactory.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Jwt.Encrypt; 2 | using SimpleIdentityServer.Core.Jwt.Encrypt.Encryption; 3 | 4 | namespace SimpleIdentityServer.Core.Jwt 5 | { 6 | public class JweGeneratorFactory 7 | { 8 | public IJweGenerator BuildJweGenerator() 9 | { 10 | return new JweGenerator(new JweHelper(new AesEncryptionHelper())); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Jwt/JwsGeneratorFactory.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Jwt.Serializer; 2 | using SimpleIdentityServer.Core.Jwt.Signature; 3 | 4 | namespace SimpleIdentityServer.Core.Jwt 5 | { 6 | public class JwsGeneratorFactory 7 | { 8 | public IJwsGenerator BuildJwsGenerator() 9 | { 10 | ICreateJwsSignature createJwsSignature; 11 | #if NET461 12 | createJwsSignature = new CreateJwsSignature(new CngKeySerializer()); 13 | #else 14 | createJwsSignature = new CreateJwsSignature(); 15 | #endif 16 | return new JwsGenerator(createJwsSignature); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core.Jwt/JwsParserFactory.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Jwt.Signature; 2 | 3 | namespace SimpleIdentityServer.Core.Jwt 4 | { 5 | public class JwsParserFactory 6 | { 7 | public IJwsParser BuildJwsParser() 8 | { 9 | var createJwsSignature = new CreateJwsSignature(); 10 | return new JwsParser(createJwsSignature); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Exceptions/ClaimRequiredException.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Exceptions 2 | { 3 | public class ClaimRequiredException : IdentityServerException 4 | { 5 | public ClaimRequiredException(string claim) 6 | { 7 | Claim = claim; 8 | } 9 | 10 | public string Claim { get; private set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Exceptions/ProfileAssignedAnotherAccountException.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Exceptions 2 | { 3 | public class ProfileAssignedAnotherAccountException : IdentityServerException 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Helpers/PasswordHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Security.Cryptography; 3 | using System.Text; 4 | 5 | namespace SimpleIdentityServer.Core.Helpers 6 | { 7 | public static class PasswordHelper 8 | { 9 | public static string ComputeHash(string entry) 10 | { 11 | using (var sha256 = SHA256.Create()) 12 | { 13 | var entryBytes = Encoding.UTF8.GetBytes(entry); 14 | var hash = sha256.ComputeHash(entryBytes); 15 | return BitConverter.ToString(hash).Replace("-", string.Empty); 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/OAuthConfigurationOptions.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core 2 | { 3 | public class OAuthConfigurationOptions 4 | { 5 | public OAuthConfigurationOptions() 6 | { 7 | TokenValidityPeriodInSeconds = 3600; 8 | AuthorizationCodeValidityPeriodInSeconds = 3600; 9 | DefaultLanguage = "en"; 10 | } 11 | 12 | public double TokenValidityPeriodInSeconds { get; set; } 13 | public double AuthorizationCodeValidityPeriodInSeconds { get; set; } 14 | public string DefaultLanguage { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Parameters/AuthenticationParameter.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Parameters 2 | { 3 | public class AuthenticationParameter 4 | { 5 | public string ClientId { get; set; } 6 | public string ClientSecret { get; set; } 7 | public string WellKnownAuthorizationUrl { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Parameters/ClientCredentialsParameter.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | 3 | namespace SimpleIdentityServer.Core.Parameters 4 | { 5 | public class ClientCredentialsParameter 6 | { 7 | public string ClientId { get; set; } 8 | public string ClientSecret { get; set; } 9 | public TokenEndPointAuthenticationMethods AuthenticationMethod { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/DefaultAccountFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | using System.Threading.Tasks; 4 | using SimpleIdentityServer.AccountFilter; 5 | 6 | namespace SimpleIdentityServer.Core.Services 7 | { 8 | internal sealed class DefaultAccountFilter : IAccountFilter 9 | { 10 | public Task Check(IEnumerable claims) 11 | { 12 | return Task.FromResult(new AccountFilterResult 13 | { 14 | IsValid = true 15 | }); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/DefaultClientPasswordService.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.Services 2 | { 3 | public class DefaultClientPasswordService : IClientPasswordService 4 | { 5 | public string Encrypt(string password) 6 | { 7 | return password; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/DefaultSubjectBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace SimpleIdentityServer.Core.Services 5 | { 6 | public class DefaultSubjectBuilder : ISubjectBuilder 7 | { 8 | public Task BuildSubject() 9 | { 10 | return Task.FromResult(Guid.NewGuid().ToString()); 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/DefaultUserClaimsEnricher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | using System.Threading.Tasks; 4 | 5 | namespace SimpleIdentityServer.Core.Services 6 | { 7 | internal sealed class DefaultUserClaimsEnricher : IUserClaimsEnricher 8 | { 9 | public Task Enrich(List claims) 10 | { 11 | return Task.FromResult(0); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/IClientPasswordService.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace SimpleIdentityServer.Core.Services 3 | { 4 | public interface IClientPasswordService 5 | { 6 | string Encrypt(string password); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/ISubjectBuilder.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SimpleIdentityServer.Core.Services 4 | { 5 | public interface ISubjectBuilder 6 | { 7 | Task BuildSubject(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Core/Services/IUserClaimsEnricher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Security.Claims; 3 | using System.Threading.Tasks; 4 | 5 | namespace SimpleIdentityServer.Core.Services 6 | { 7 | public interface IUserClaimsEnricher 8 | { 9 | Task Enrich(List claims); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Dtos/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Dtos 2 | { 3 | public static class Constants 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.EF/Models/Profile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.EF.Models 4 | { 5 | public class Profile 6 | { 7 | public string Subject { get; set; } 8 | public string Issuer { get; set; } 9 | public string ResourceOwnerId { get; set; } 10 | public DateTime UpdateDateTime { get; set; } 11 | public DateTime CreateDateTime { get; set; } 12 | public virtual ResourceOwner ResourceOwner { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Host/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:59082/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Host/Views/RevokeSession.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Do-you want to logout ? 6 | Yes 7 | 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Host/Views/RevokeSessionCallback.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Your session is not active anymore 6 | 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Host/Views/UserNotConnected.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | The user is not connected 6 | 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.OAuth2Introspection/OAuth2IntrospectionModule.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Module; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.OAuth2Introspection 5 | { 6 | public class OAuth2IntrospectionModule : IModule 7 | { 8 | public void Init(IDictionary properties) 9 | { 10 | 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.OAuth2Introspection/OAuth2IntrospectionOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | using System.Net.Http; 3 | 4 | namespace SimpleIdentityServer.OAuth2Introspection 5 | { 6 | public class OAuth2IntrospectionOptions : AuthenticationSchemeOptions 7 | { 8 | public const string AuthenticationScheme = "OAuth2Introspection"; 9 | 10 | public string WellKnownConfigurationUrl { get; set; } 11 | public string ClientId { get; set; } 12 | public string ClientSecret { get; set; } 13 | public HttpClientHandler BackChannelHttpHandler { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/Areas/Shell/Views/Error/Get401.cshtml: -------------------------------------------------------------------------------- 1 |
2 |

3 | ERROR 401 : You're not authorized 4 |

5 |
-------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/Areas/Shell/Views/Error/Get404.cshtml: -------------------------------------------------------------------------------- 1 |
2 |

3 | ERROR 404 : Not found 4 |

5 |
-------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/Areas/Shell/Views/Error/Get500.cshtml: -------------------------------------------------------------------------------- 1 |
2 |

3 | ERROR 500 : Internal error server ... 4 |

5 |
-------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/Areas/Shell/Views/Error/Index.cshtml: -------------------------------------------------------------------------------- 1 | @model SimpleIdentityServer.Shell.ViewModels.ErrorViewModel 2 | 3 |
4 |

Error

5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Code@Model.Code
Message@Model.Message
17 |
-------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/ViewModels/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Shell.ViewModels 2 | { 3 | public class ErrorViewModel 4 | { 5 | public string Code { get; set; } 6 | public string Message { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/css/home.index.css: -------------------------------------------------------------------------------- 1 | section.tile { 2 | margin-right: 3px; 3 | margin-bottom: 3px; 4 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/css/style.css: -------------------------------------------------------------------------------- 1 | body, h1, h2, h3, h4, h5, h6 { 2 | font-family: "Segoe UI Light", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; 3 | } 4 | 5 | h1, h2, h3, h4, h5, h6 { 6 | color: #666; 7 | font-weight: 300; 8 | } 9 | 10 | h2 { 11 | font-size: 2em; 12 | } 13 | 14 | .col-center { 15 | margin: auto; 16 | text-align: center; 17 | } 18 | 19 | h1.errorbox { 20 | background-color:rgba(218, 218, 218, 0.63); 21 | padding:10px; 22 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/favicon.ico -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/OAuth2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/OAuth2.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/Unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/Unknown.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/doctor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/doctor.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/elabs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/elabs.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/openid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/openid.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/patient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/patient.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/swagger-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Shell/wwwroot/img/swagger-logo.png -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Startup": { 4 | "commandName": "Project", 5 | "commandLineArgs": "http://*:5000", 6 | "environmentVariables": { 7 | "DATA_MIGRATED": "true" 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Startup/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Db": { 3 | "OpenIdConnectionString": "Data Source=.;Initial Catalog=SimpleIdentityServer;Integrated Security=True;", 4 | "EvtStoreConnectionString": "Data Source=.;Initial Catalog=EventStore;Integrated Security=True;" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Startup/create-certificate.cmd: -------------------------------------------------------------------------------- 1 | makecert -n "CN=Lokit CA,O=AdvICT,OU=Dev" -cy authority -a sha1 -sv "LokitCA.pvk" -r "LokitCA.cer" 2 | makecert -n "CN=localhost" -ic "LokitCA.cer" -iv "LokitCA.pvk" -a sha1 -sky exchange -pe -sv "SimpleIdServer.pvk" "SimpleIdServer.cer" 3 | pvk2pfx -pvk "SimpleIdServer.pvk" -spc "SimpleIdServer.cer" -pfx "SimpleIdServer.pfx" -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Store/ConfirmationCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.Store 4 | { 5 | public class ConfirmationCode 6 | { 7 | public string Value { get; set; } 8 | public string Subject { get; set; } 9 | public DateTime IssueAt { get; set; } 10 | public double ExpiresIn { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Store/IAuthorizationCodeStore.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using System.Threading.Tasks; 3 | 4 | namespace SimpleIdentityServer.Store 5 | { 6 | public interface IAuthorizationCodeStore 7 | { 8 | Task GetAuthorizationCode(string code); 9 | Task AddAuthorizationCode(AuthorizationCode authorizationCode); 10 | Task RemoveAuthorizationCode(string code); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Store/IConfirmationCodeStore.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace SimpleIdentityServer.Store 4 | { 5 | public interface IConfirmationCodeStore 6 | { 7 | Task Get(string code); 8 | Task Add(ConfirmationCode confirmationCode); 9 | Task Remove(string code); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Twilio.Client/TwilioException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SimpleIdentityServer.Twilio.Client 4 | { 5 | public class TwilioException : Exception 6 | { 7 | public TwilioException(string message) : base(message) { } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.Twilio.Client/TwilioSmsCredentials.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Twilio.Client 2 | { 3 | public class TwilioSmsCredentials 4 | { 5 | public string AccountSid { get; set; } = string.Empty; 6 | public string AuthToken { get; set; } = string.Empty; 7 | public string FromNumber { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.TwoFactorAuthentication/ITwoFactorAuthenticationService.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Core.Common.Models; 2 | using System.Threading.Tasks; 3 | 4 | namespace SimpleIdentityServer.TwoFactorAuthentication 5 | { 6 | public interface ITwoFactorAuthenticationService 7 | { 8 | Task SendAsync(string code, ResourceOwner user); 9 | string RequiredClaim { get; } 10 | string Name { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserInfoIntrospection/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | [assembly: InternalsVisibleTo("SimpleIdentityServer.Host.Tests")] -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserInfoIntrospection/UserInfoIntrospectionOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | using SimpleIdentityServer.Common.Client.Factories; 3 | using System.Net.Http; 4 | 5 | namespace SimpleIdentityServer.UserInfoIntrospection 6 | { 7 | public class UserInfoIntrospectionOptions : AuthenticationSchemeOptions 8 | { 9 | public const string AuthenticationScheme = "UserInfoIntrospection"; 10 | 11 | public string WellKnownConfigurationUrl { get; set; } 12 | public IHttpClientFactory HttpClientFactory { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement.Client/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: InternalsVisibleTo("SimpleIdentityServer.Client.Unit.Tests")] 9 | [assembly: InternalsVisibleTo("SimpleIdentityServer.Host.Tests")] 10 | [assembly: InternalsVisibleTo("SimpleIdentityServer.Uma.Host.Tests")] -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement.Client/Results/GetProfilesResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.UserManagement.Common.Responses; 3 | using System.Collections.Generic; 4 | 5 | namespace SimpleIdentityServer.UserManagement.Client.Results 6 | { 7 | public class GetProfilesResult : BaseResponse 8 | { 9 | public IEnumerable Content { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement.Common/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.UserManagement.Common 2 | { 3 | internal static class Constants 4 | { 5 | public static class LinkProfileRequestNames 6 | { 7 | public const string UserId = "user_id"; 8 | public const string Issuer = "issuer"; 9 | public const string Force = "force"; 10 | } 11 | 12 | public static class LinkProfileResponseNames 13 | { 14 | public const string CreateDatetime = "create_datetime"; 15 | public const string UpdateDatetime = "update_datetime"; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement.Common/Requests/LinkProfileRequest.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | using static SimpleIdentityServer.UserManagement.Common.Constants; 3 | 4 | namespace SimpleIdentityServer.UserManagement.Common.Requests 5 | { 6 | [DataContract] 7 | public sealed class LinkProfileRequest 8 | { 9 | [DataMember(Name = LinkProfileRequestNames.UserId)] 10 | public string UserId { get; set; } 11 | [DataMember(Name = LinkProfileRequestNames.Issuer)] 12 | public string Issuer { get; set; } 13 | [DataMember(Name = LinkProfileRequestNames.Force)] 14 | public bool Force { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement.Common/Responses/AuthproviderResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace SimpleIdentityServer.UserManagement.Common.Responses 4 | { 5 | [DataContract] 6 | public class AuthproviderResponse 7 | { 8 | [DataMember(Name = "display_name")] 9 | public string DisplayName { get; set; } 10 | [DataMember(Name = "authentication_scheme")] 11 | public string AuthenticationScheme { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement/Areas/UserManagement/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Areas/UserManagement/Views/Shared/_UserLayout.cshtml"; 3 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement/ViewModels/CallbackViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.UserManagement.ViewModels 2 | { 3 | public class CallbackViewModel 4 | { 5 | public string IdentityToken { get; set; } 6 | public string AccessToken { get; set; } 7 | public string State { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement/ViewModels/LinkProfileConfirmationViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.UserManagement.ViewModels 2 | { 3 | public class LinkProfileConfirmationViewModel 4 | { 5 | public LinkProfileConfirmationViewModel(string issuer) 6 | { 7 | Issuer = issuer; 8 | } 9 | 10 | public string Issuer { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/SimpleIdServer/SimpleIdentityServer.UserManagement/ViewModels/UpdateTwoFactorAuthenticatorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.UserManagement.ViewModels 2 | { 3 | public class UpdateTwoFactorAuthenticatorViewModel 4 | { 5 | public string SelectedTwoFactorAuthType { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/AddPermissionResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class AddPermissionResult : BaseResponse 7 | { 8 | public AddPermissionResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/AddPolicyResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class AddPolicyResult : BaseResponse 7 | { 8 | public AddPolicyResponse Content { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/AddResourceSetResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class AddResourceSetResult : BaseResponse 7 | { 8 | public AddResourceSetResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/GetPoliciesResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class GetPoliciesResult : BaseResponse 7 | { 8 | public IEnumerable Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/GetPolicyResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class GetPolicyResult : BaseResponse 7 | { 8 | public PolicyResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/GetResourceSetResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class GetResourceSetResult : BaseResponse 7 | { 8 | public ResourceSetResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/GetResourcesResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using System.Collections.Generic; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class GetResourcesResult : BaseResponse 7 | { 8 | public IEnumerable Content { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/SearchAuthPoliciesResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class SearchAuthPoliciesResult : BaseResponse 7 | { 8 | public SearchAuthPoliciesResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/SearchResourceSetResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class SearchResourceSetResult : BaseResponse 7 | { 8 | public SearchResourceSetResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Client/Results/UpdateResourceSetResult.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Common.Client; 2 | using SimpleIdentityServer.Uma.Common.DTOs; 3 | 4 | namespace SimpleIdentityServer.Uma.Client.Results 5 | { 6 | public class UpdateResourceSetResult : BaseResponse 7 | { 8 | public UpdateResourceSetResponse Content { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Common/DTOs/SearchResourceSetResponse.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Runtime.Serialization; 3 | 4 | namespace SimpleIdentityServer.Uma.Common.DTOs 5 | { 6 | [DataContract] 7 | public class SearchResourceSetResponse 8 | { 9 | [DataMember(Name = SearchResponseNames.Content)] 10 | public IEnumerable Content { get; set; } 11 | [DataMember(Name = SearchResponseNames.TotalResults)] 12 | public int TotalResults { get; set; } 13 | [DataMember(Name = SearchResponseNames.StartIndex)] 14 | public int StartIndex { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Models/SearchAuthPoliciesResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Models 4 | { 5 | public class SearchAuthPoliciesResult 6 | { 7 | public int TotalResults { get; set; } 8 | public int StartIndex { get; set; } 9 | public IEnumerable Content { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Models/SearchResourceSetResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Models 4 | { 5 | public class SearchResourceSetResult 6 | { 7 | public int TotalResults { get; set; } 8 | public int StartIndex { get; set; } 9 | public IEnumerable Content { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Models/TicketLine.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Models 4 | { 5 | public class TicketLine 6 | { 7 | public string Id { get; set; } 8 | public IEnumerable Scopes { get; set; } 9 | public string ResourceSetId { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Parameters/GetTokenViaTicketIdParameter.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Uma.Core.Parameters 2 | { 3 | public class GetTokenViaTicketIdParameter 4 | { 5 | public string Ticket { get; set; } 6 | public string ClaimToken { get; set; } 7 | public string ClaimTokenFormat { get; set; } 8 | public string Pct { get; set; } 9 | public string Rpt { get; set; } 10 | public string ClientId { get; set; } 11 | public string ClientSecret { get; set; } 12 | public string ClientAssertionType { get; set; } 13 | public string ClientAssertion { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Parameters/SearchAuthPoliciesParameter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Parameters 4 | { 5 | public class SearchAuthPoliciesParameter 6 | { 7 | public SearchAuthPoliciesParameter() 8 | { 9 | IsPagingEnabled = true; 10 | } 11 | 12 | public IEnumerable Ids { get; set; } 13 | public IEnumerable ResourceIds { get; set; } 14 | public int StartIndex { get; set; } 15 | public int Count { get; set; } 16 | public bool IsPagingEnabled { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Parameters/SearchResourceSetParameter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Parameters 4 | { 5 | public class SearchResourceSetParameter 6 | { 7 | public SearchResourceSetParameter() 8 | { 9 | IsPagingEnabled = true; 10 | } 11 | 12 | public IEnumerable Ids { get; set; } 13 | public IEnumerable Names { get; set; } 14 | public IEnumerable Types { get; set; } 15 | public int StartIndex { get; set; } 16 | public int Count { get; set; } 17 | public bool IsPagingEnabled { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Policies/TicketLineParameter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SimpleIdentityServer.Uma.Core.Policies 4 | { 5 | public class TicketLineParameter 6 | { 7 | public TicketLineParameter(string clientId, IEnumerable scopes = null, bool isAuthorizedByRo = false) 8 | { 9 | ClientId = clientId; 10 | Scopes = scopes; 11 | IsAuthorizedByRo = isAuthorizedByRo; 12 | } 13 | 14 | public string ClientId { get; set; } 15 | public IEnumerable Scopes { get; set; } 16 | public bool IsAuthorizedByRo { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("SimpleIdentityServer.Uma.Core.UnitTests")] -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/Stores/ITicketStore.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdentityServer.Uma.Core.Models; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Threading.Tasks; 5 | 6 | namespace SimpleIdentityServer.Uma.Core.Stores 7 | { 8 | public interface ITicketStore 9 | { 10 | Task AddAsync(IEnumerable tickets); 11 | Task AddAsync(Ticket ticket); 12 | Task RemoveAsync(string ticketId); 13 | Task GetAsync(string ticketId); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Core/UmaConfigurationOptions.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Uma.Core 2 | { 3 | public class UmaConfigurationOptions 4 | { 5 | public UmaConfigurationOptions() 6 | { 7 | RptLifeTime = 3000; 8 | TicketLifeTime = 3000; 9 | } 10 | 11 | /// 12 | /// Gets or sets the RPT lifetime (seconds). 13 | /// 14 | public int RptLifeTime { get; set; } 15 | /// 16 | /// Gets or sets the ticket lifetime (seconds). 17 | /// 18 | public int TicketLifeTime { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Host/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Uma.Host": { 4 | "commandName": "Project", 5 | "commandLineArgs": "http://*:5001" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Startup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "SimpleIdentityServer.Uma.Startup": { 4 | "commandName": "Project", 5 | "commandLineArgs": "https://localhost:5445", 6 | "launchBrowser": true, 7 | "environmentVariables": { 8 | "ASPNETCORE_ENVIRONMENT": "Development" 9 | }, 10 | "applicationUrl": "http://localhost:54643/" 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Startup/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Startup/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Startup/wwwroot/favicon.ico -------------------------------------------------------------------------------- /SimpleIdentityServer/src/Apis/Uma/SimpleIdentityServer.Uma.Startup/wwwroot/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/src/SimpleIdServer.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/src/SimpleIdServer.pfx -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Core.UnitTests/Api/Profile/ProfileActionsFixture.cs: -------------------------------------------------------------------------------- 1 | namespace SimpleIdentityServer.Core.UnitTests.Api.Profile 2 | { 3 | public class ProfileActionsFixture 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Host.Tests/MiddleWares/FakeUserInfoIntrospectionOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | 3 | namespace SimpleIdentityServer.Host.Tests.MiddleWares 4 | { 5 | public class FakeUserInfoIntrospectionOptions : AuthenticationSchemeOptions 6 | { 7 | public const string AuthenticationScheme = "UserInfoIntrospection"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Host.Tests/MiddleWares/TestAuthenticationOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | 3 | namespace SimpleIdentityServer.Host.Tests.MiddleWares 4 | { 5 | public class TestAuthenticationOptions : AuthenticationSchemeOptions 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Host.Tests/Services/DefaultEventPublisher.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Host.Tests.Services 4 | { 5 | public class DefaultEventPublisher : IEventPublisher 6 | { 7 | public void Publish(T evt) where T : Event 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Host.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Verbose", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "Db": { 11 | "type": "InMemory" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Scim.Client.Tests/MiddleWares/TestAuthenticationOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | 3 | namespace SimpleIdentityServer.Scim.Client.Tests.MiddleWares 4 | { 5 | public class TestAuthenticationOptions : AuthenticationSchemeOptions 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Scim.Client.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Verbose", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "Db": { 11 | "type": "InMemory" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Uma.Host.Tests/MiddleWares/TestAuthenticationOptions.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Authentication; 2 | 3 | namespace SimpleIdentityServer.Uma.Host.Tests.MiddleWares 4 | { 5 | public class TestAuthenticationOptions : AuthenticationSchemeOptions 6 | { 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Uma.Host.Tests/Services/DefaultEventPublisher.cs: -------------------------------------------------------------------------------- 1 | using SimpleIdServer.Bus; 2 | 3 | namespace SimpleIdentityServer.Uma.Host.Tests.Services 4 | { 5 | internal sealed class DefaultEventPublisher : IEventPublisher 6 | { 7 | public void Publish(T evt) where T : Event 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/SimpleIdentityServer.Uma.Host.Tests/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Verbose", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | }, 10 | "Db": { 11 | "type": "InMemory" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /SimpleIdentityServer/tests/testCert.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/SimpleIdentityServer/tests/testCert.pfx -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 3.0.{build} 2 | build_script: 3 | - ps: .\build.ps1 4 | test_script: 5 | - cmd: cd SimpleIdentityServer && run-tests.cmd -------------------------------------------------------------------------------- /build.ps1: -------------------------------------------------------------------------------- 1 | param 2 | ( 3 | $config = 'Release' 4 | ) 5 | 6 | $hostSln = Resolve-Path .\SimpleIdentityServer\SimpleIdentityServer.Host.sln 7 | $umaSln = Resolve-Path .\SimpleIdentityServer\SimpleIdentityServer.Uma.sln 8 | $scimSln = Resolve-Path .\SimpleIdentityServer\SimpleIdentityServer.Scim.sln 9 | $busSln = Resolve-Path .\SimpleIdentityServer\SimpleBus.sln 10 | 11 | dotnet build $hostSln -c $config 12 | dotnet build $umaSln -c $config 13 | dotnet build $scimSln -c $config 14 | dotnet build $busSln -$config -------------------------------------------------------------------------------- /extract-patch.cmd: -------------------------------------------------------------------------------- 1 | rem extract patch 2 | git format-patch HEAD~2 3 | 4 | rem import patches 5 | git am --ignore-space-change --ignore-whitespace *.patch -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/basic/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/OpenID-Certification-of-Conformance.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/basic/OpenID-Certification-of-Conformance.docx -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/basic/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:00 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:00 : Get an authorization code 3 | Log Entry : 11-01-17 17:54:01 : Get an identity token 4 | Log Entry : 11-01-17 17:54:01 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:26 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:27 : Register the client 3 | Log Entry : 11-01-17 17:54:29 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:31 : Get an identity token 5 | Log Entry : 11-01-17 17:54:31 : the payload doesn't contain iat 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:11 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:11 : Register the client 3 | Log Entry : 11-01-17 17:54:11 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:16 : Get an identity token 5 | Log Entry : 11-01-17 17:54:17 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-id_token-sig-none.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:09 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:09 : Register the client 3 | Log Entry : 11-01-17 17:54:10 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:10 : Get an identity token 5 | Log Entry : 11-01-17 17:54:11 : the payload is valid 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:41 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:41 : Register the client 3 | Log Entry : 11-01-17 17:54:42 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:44 : Get an identity token 5 | Log Entry : 11-01-17 17:54:45 : the payload doesn't contain sub 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:50 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:51 : Get an authorization code 3 | Log Entry : 11-01-17 17:53:56 : Get an identity token 4 | Log Entry : 11-01-17 17:53:57 : The nonce in identity token is not correct 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-response_type-code.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:46 : Register client 3 | Log Entry : 11-01-17 17:53:47 : Get authorization 4 | Log Entry : 11-01-17 17:53:48 : Authorization code has been returned ldVY1JKwJxvgnc4Ls7C9GWzFSMIv4IL2XLvq7lDZj4w0Wu+kQivIJGIF8g362hww9gOfbzCkH+f/egFATBE/bNVns7Pf+2JVanBidqFeiaxmUK2oAKwPqzgn6Mx6OEPLz/tMlv7GR6Ih5EgVNgD0Aw== 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:48 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:49 : Register the client 3 | Log Entry : 11-01-17 17:53:49 : Get authorization 4 | Log Entry : 11-01-17 17:53:49 : Get access token 5 | Log Entry : 11-01-17 17:53:50 : Get user information 6 | Log Entry : 11-01-17 17:53:50 : claims has been returned, the subject is : 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 7 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-userinfo-bad-sub-claim.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:46 : Register the client 3 | Log Entry : 11-01-17 17:54:46 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:47 : Get an access token 5 | Log Entry : 11-01-17 17:54:49 : the subject are not equals 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db != foobar 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:49 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:51 : Register the client 3 | Log Entry : 11-01-17 17:54:51 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:53 : Get an access token 5 | Log Entry : 11-01-17 17:54:55 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/basic/code/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:55 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:56 : Register the client 3 | Log Entry : 11-01-17 17:54:56 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:57 : Get an access token 5 | Log Entry : 11-01-17 17:55:01 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/config/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/OpenID-Certification-of-Conformance.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/config/OpenID-Certification-of-Conformance.docx -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/config/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:00 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:00 : Get an authorization code 3 | Log Entry : 11-01-17 17:54:01 : Get an identity token 4 | Log Entry : 11-01-17 17:54:01 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:26 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:27 : Register the client 3 | Log Entry : 11-01-17 17:54:29 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:31 : Get an identity token 5 | Log Entry : 11-01-17 17:54:31 : the payload doesn't contain iat 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:11 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:11 : Register the client 3 | Log Entry : 11-01-17 17:54:11 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:16 : Get an identity token 5 | Log Entry : 11-01-17 17:54:17 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-id_token-sig-none.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:09 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:09 : Register the client 3 | Log Entry : 11-01-17 17:54:10 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:10 : Get an identity token 5 | Log Entry : 11-01-17 17:54:11 : the payload is valid 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:41 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:41 : Register the client 3 | Log Entry : 11-01-17 17:54:42 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:44 : Get an identity token 5 | Log Entry : 11-01-17 17:54:45 : the payload doesn't contain sub 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:50 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:51 : Get an authorization code 3 | Log Entry : 11-01-17 17:53:56 : Get an identity token 4 | Log Entry : 11-01-17 17:53:57 : The nonce in identity token is not correct 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-response_type-code.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:46 : Register client 3 | Log Entry : 11-01-17 17:53:47 : Get authorization 4 | Log Entry : 11-01-17 17:53:48 : Authorization code has been returned ldVY1JKwJxvgnc4Ls7C9GWzFSMIv4IL2XLvq7lDZj4w0Wu+kQivIJGIF8g362hww9gOfbzCkH+f/egFATBE/bNVns7Pf+2JVanBidqFeiaxmUK2oAKwPqzgn6Mx6OEPLz/tMlv7GR6Ih5EgVNgD0Aw== 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:48 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:49 : Register the client 3 | Log Entry : 11-01-17 17:53:49 : Get authorization 4 | Log Entry : 11-01-17 17:53:49 : Get access token 5 | Log Entry : 11-01-17 17:53:50 : Get user information 6 | Log Entry : 11-01-17 17:53:50 : claims has been returned, the subject is : 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 7 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-userinfo-bad-sub-claim.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:46 : Register the client 3 | Log Entry : 11-01-17 17:54:46 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:47 : Get an access token 5 | Log Entry : 11-01-17 17:54:49 : the subject are not equals 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db != foobar 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:49 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:51 : Register the client 3 | Log Entry : 11-01-17 17:54:51 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:53 : Get an access token 5 | Log Entry : 11-01-17 17:54:55 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/config/code/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:55 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:56 : Register the client 3 | Log Entry : 11-01-17 17:54:56 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:57 : Get an access token 5 | Log Entry : 11-01-17 17:55:01 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/dynamic/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/OpenID-Certification-of-Conformance.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/dynamic/OpenID-Certification-of-Conformance.docx -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/dynamic/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:00 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:00 : Get an authorization code 3 | Log Entry : 11-01-17 17:54:01 : Get an identity token 4 | Log Entry : 11-01-17 17:54:01 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:26 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:27 : Register the client 3 | Log Entry : 11-01-17 17:54:29 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:31 : Get an identity token 5 | Log Entry : 11-01-17 17:54:31 : the payload doesn't contain iat 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:11 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:11 : Register the client 3 | Log Entry : 11-01-17 17:54:11 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:16 : Get an identity token 5 | Log Entry : 11-01-17 17:54:17 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-id_token-sig-none.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:09 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:09 : Register the client 3 | Log Entry : 11-01-17 17:54:10 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:10 : Get an identity token 5 | Log Entry : 11-01-17 17:54:11 : the payload is valid 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:41 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:41 : Register the client 3 | Log Entry : 11-01-17 17:54:42 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:44 : Get an identity token 5 | Log Entry : 11-01-17 17:54:45 : the payload doesn't contain sub 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:50 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:51 : Get an authorization code 3 | Log Entry : 11-01-17 17:53:56 : Get an identity token 4 | Log Entry : 11-01-17 17:53:57 : The nonce in identity token is not correct 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-response_type-code.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:46 : Register client 3 | Log Entry : 11-01-17 17:53:47 : Get authorization 4 | Log Entry : 11-01-17 17:53:48 : Authorization code has been returned ldVY1JKwJxvgnc4Ls7C9GWzFSMIv4IL2XLvq7lDZj4w0Wu+kQivIJGIF8g362hww9gOfbzCkH+f/egFATBE/bNVns7Pf+2JVanBidqFeiaxmUK2oAKwPqzgn6Mx6OEPLz/tMlv7GR6Ih5EgVNgD0Aw== 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:53:48 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:53:49 : Register the client 3 | Log Entry : 11-01-17 17:53:49 : Get authorization 4 | Log Entry : 11-01-17 17:53:49 : Get access token 5 | Log Entry : 11-01-17 17:53:50 : Get user information 6 | Log Entry : 11-01-17 17:53:50 : claims has been returned, the subject is : 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 7 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-userinfo-bad-sub-claim.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:45 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:46 : Register the client 3 | Log Entry : 11-01-17 17:54:46 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:47 : Get an access token 5 | Log Entry : 11-01-17 17:54:49 : the subject are not equals 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db != foobar 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:49 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:51 : Register the client 3 | Log Entry : 11-01-17 17:54:51 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:53 : Get an access token 5 | Log Entry : 11-01-17 17:54:55 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/dynamic/code/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 11-01-17 17:54:55 : Call OpenIdConfiguration 2 | Log Entry : 11-01-17 17:54:56 : Register the client 3 | Log Entry : 11-01-17 17:54:56 : Get an authorization code 4 | Log Entry : 11-01-17 17:54:57 : Get an access token 5 | Log Entry : 11-01-17 17:55:01 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/hybrid/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/OpenID-Certification-of-Conformance.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/hybrid/OpenID-Certification-of-Conformance.docx -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/hybrid/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:28:56 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:28:56 : Register client 3 | Log Entry : 13-01-17 15:28:57 : Get authorization 4 | Log Entry : 13-01-17 15:28:57 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:29:18 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:29:19 : Register client 3 | Log Entry : 13-01-17 15:29:20 : Get authorization 4 | Log Entry : 13-01-17 15:29:20 : the payload doesn't contain iat 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:29:05 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:29:06 : Register client 3 | Log Entry : 13-01-17 15:29:06 : Get authorization 4 | Log Entry : 13-01-17 15:29:07 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:29:21 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:29:21 : Register client 3 | Log Entry : 13-01-17 15:29:22 : Get authorization 4 | Log Entry : 13-01-17 15:29:23 : the payload doesn't contain sub 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:28:47 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:28:48 : Register client 3 | Log Entry : 13-01-17 15:28:50 : Get authorization 4 | Log Entry : 13-01-17 15:28:50 : the nonce are not equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-nonce-unless-code-flow.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:28:43 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:28:43 : Register client 3 | Log Entry : 13-01-17 15:28:44 : Get authorization 4 | Log Entry : 13-01-17 15:28:44 : the id_token nonce & auth_nonce are equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:28:41 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:28:42 : Register client 3 | Log Entry : 13-01-17 15:28:42 : Get authorization 4 | Log Entry : 13-01-17 15:28:43 : the email is 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:29:34 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:29:35 : Register client 3 | Log Entry : 13-01-17 15:29:35 : Get authorization 4 | Log Entry : 13-01-17 15:29:35 : Get access token 5 | Log Entry : 13-01-17 15:29:36 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token+token/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:29:37 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:29:37 : Register client 3 | Log Entry : 13-01-17 15:29:38 : Get authorization 4 | Log Entry : 13-01-17 15:29:38 : Get access token 5 | Log Entry : 13-01-17 15:29:41 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:21:48 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:21:48 : Register client 3 | Log Entry : 13-01-17 15:21:49 : Get authorization 4 | Log Entry : 13-01-17 15:21:49 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:22:08 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:22:08 : Register client 3 | Log Entry : 13-01-17 15:22:08 : Get authorization 4 | Log Entry : 13-01-17 15:22:09 : the payload doesn't contain iat 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:21:58 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:21:58 : Register client 3 | Log Entry : 13-01-17 15:21:58 : Get authorization 4 | Log Entry : 13-01-17 15:21:59 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:22:16 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:22:17 : Register client 3 | Log Entry : 13-01-17 15:22:17 : Get authorization 4 | Log Entry : 13-01-17 15:22:18 : the payload doesn't contain sub 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:21:39 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:21:39 : Register client 3 | Log Entry : 13-01-17 15:21:45 : Get authorization 4 | Log Entry : 13-01-17 15:21:46 : the nonce are not equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-nonce-unless-code-flow.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:21:38 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:21:38 : Register client 3 | Log Entry : 13-01-17 15:21:38 : Get authorization 4 | Log Entry : 13-01-17 15:21:39 : the id_token nonce & auth_nonce are equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:21:37 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:21:37 : Register client 3 | Log Entry : 13-01-17 15:21:37 : Get authorization 4 | Log Entry : 13-01-17 15:21:38 : the email is 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:22:30 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:22:31 : Register client 3 | Log Entry : 13-01-17 15:22:31 : Get authorization 4 | Log Entry : 13-01-17 15:22:32 : Get access token 5 | Log Entry : 13-01-17 15:22:32 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+id_token/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 15:22:33 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 15:22:33 : Register client 3 | Log Entry : 13-01-17 15:22:34 : Get authorization 4 | Log Entry : 13-01-17 15:22:34 : Get access token 5 | Log Entry : 13-01-17 15:22:35 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:04:26 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:04:26 : Register client 3 | Log Entry : 16-01-17 19:04:26 : Get authorization 4 | Log Entry : 16-01-17 19:04:27 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:04:52 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:04:52 : Register client 3 | Log Entry : 16-01-17 19:04:53 : Get authorization 4 | Log Entry : 16-01-17 19:04:57 : the payload doesn't contain iat 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:04:39 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:04:40 : Register client 3 | Log Entry : 16-01-17 19:04:40 : Get authorization 4 | Log Entry : 16-01-17 19:04:41 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:05:01 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:05:02 : Register client 3 | Log Entry : 16-01-17 19:05:02 : Get authorization 4 | Log Entry : 16-01-17 19:05:04 : the payload doesn't contain sub 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:04:04 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:04:04 : Register client 3 | Log Entry : 16-01-17 19:04:04 : Get authorization 4 | Log Entry : 16-01-17 19:04:05 : the nonce are not equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-nonce-unless-code-flow.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:03:54 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:03:54 : Register client 3 | Log Entry : 16-01-17 19:03:55 : Get authorization 4 | Log Entry : 16-01-17 19:03:56 : the id_token nonce & auth_nonce are equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-response_type-code+token.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:03:44 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:03:45 : Register client 3 | Log Entry : 16-01-17 19:03:46 : Get authorization 4 | Log Entry : 16-01-17 19:03:46 : Code yyJ9/fc1bYIj2gh3QQp2Sb0ak1UpBG86SuebNDK7RyE0YrMi59XBs1qnU1GY6ZPOtjxO3RGxhGrF54lzDhl0u0Tgg3UPhzcoTEBuhcD3tdrV9ZuVIeI9HAp7JufxWy6snfnvtf4hrP7JQT9Ceumltg== & token TxY5ojd66o03JgKJtk7IiELKqxI1llsCgWuLiMAUfKXN+yZfD1PgpYXxw52KnZlRGixkVlpZd6MRkCsg3NAcEi1bKb7mYps7DwXLdLbcAeOYt7tNdhbG2xhLehdaFEo2vdnxgHgQ5zBvFfP0Ye/ESg== have been returned 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:03:51 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:03:51 : Register client 3 | Log Entry : 16-01-17 19:03:51 : Get authorization 4 | Log Entry : 16-01-17 19:03:52 : the subject is 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-userinfo-bad-sub-claim.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:05:04 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:05:07 : Register client 3 | Log Entry : 16-01-17 19:05:08 : Get authorization 4 | Log Entry : 16-01-17 19:05:10 : the subject is not correct 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:05:11 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:05:11 : Register client 3 | Log Entry : 16-01-17 19:05:12 : Get authorization 4 | Log Entry : 16-01-17 19:05:12 : Get access token 5 | Log Entry : 16-01-17 19:05:14 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/hybrid/code+token/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 16-01-17 19:05:15 : Call OpenIdConfiguration 2 | Log Entry : 16-01-17 19:05:17 : Register client 3 | Log Entry : 16-01-17 19:05:18 : Get authorization 4 | Log Entry : 16-01-17 19:05:19 : Get access token 5 | Log Entry : 16-01-17 19:05:20 : user information has been returned 6 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/implicit/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/OpenID-Certification-of-Conformance.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/implicit/OpenID-Certification-of-Conformance.docx -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/RpConformance/implicit/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:27:44 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:27:44 : Register client 3 | Log Entry : 13-01-17 10:27:44 : Get authorization 4 | Log Entry : 13-01-17 10:27:45 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:28:03 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:28:03 : Register client 3 | Log Entry : 13-01-17 10:28:04 : Get authorization 4 | Log Entry : 13-01-17 10:28:05 : the payload doesn't contain iat 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:27:47 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:27:48 : Register client 3 | Log Entry : 13-01-17 10:27:48 : Get authorization 4 | Log Entry : 13-01-17 10:27:52 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:28:08 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:28:09 : Register client 3 | Log Entry : 13-01-17 10:28:09 : Get authorization 4 | Log Entry : 13-01-17 10:28:12 : the payload doesn't contain sub 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:27:38 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:27:38 : Register client 3 | Log Entry : 13-01-17 10:27:42 : Get authorization 4 | Log Entry : 13-01-17 10:27:43 : the nonce are not equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-nonce-unless-code-flow.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:27:36 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:27:36 : Register client 3 | Log Entry : 13-01-17 10:27:37 : Get authorization 4 | Log Entry : 13-01-17 10:27:37 : the id_token nonce & auth_nonce are equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:27:34 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:27:34 : Register client 3 | Log Entry : 13-01-17 10:27:35 : Get authorization 4 | Log Entry : 13-01-17 10:27:35 : the email is 1b2fc9341a16ae4e30082965d537ae47c21a0f27fd43eab78330ed81751ae6db 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-userinfo-bearer-body.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:28:17 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:28:17 : Register client 3 | Log Entry : 13-01-17 10:28:18 : Get authorization 4 | Log Entry : 13-01-17 10:28:19 : user information has been returned 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token+token/rp-userinfo-bearer-header.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:28:19 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:28:20 : Register client 3 | Log Entry : 13-01-17 10:28:22 : Get authorization 4 | Log Entry : 13-01-17 10:28:24 : user information has been returned 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-id_token-aud.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:29 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:30 : Register client 3 | Log Entry : 13-01-17 10:17:30 : Get authorization 4 | Log Entry : 13-01-17 10:17:31 : The audience doesn't match the client id 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-id_token-iat.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:46 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:46 : Register client 3 | Log Entry : 13-01-17 10:17:47 : Get authorization 4 | Log Entry : 13-01-17 10:17:49 : the payload doesn't contain iat 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-id_token-issuer-mismatch.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:32 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:32 : Register client 3 | Log Entry : 13-01-17 10:17:33 : Get authorization 4 | Log Entry : 13-01-17 10:17:39 : the issuer is not correct https://example.org/ != https://rp.certification.openid.net:8080/simpleIdServer/rp-id_token-issuer-mismatch 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-id_token-sub.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:18:03 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:18:03 : Register client 3 | Log Entry : 13-01-17 10:18:04 : Get authorization 4 | Log Entry : 13-01-17 10:18:04 : the payload doesn't contain sub 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-nonce-invalid.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:22 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:23 : Register client 3 | Log Entry : 13-01-17 10:17:29 : Get authorization 4 | Log Entry : 13-01-17 10:17:29 : the nonce are not equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-nonce-unless-code-flow.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:21 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:22 : Register client 3 | Log Entry : 13-01-17 10:17:22 : Get authorization 4 | Log Entry : 13-01-17 10:17:22 : the id_token nonce & auth_nonce are equals 5 | -------------------------------------------------------------------------------- /open-id-testing/RpConformance/implicit/id_token/rp-scope-userinfo-claims.log: -------------------------------------------------------------------------------- 1 | Log Entry : 13-01-17 10:17:20 : Call OpenIdConfiguration 2 | Log Entry : 13-01-17 10:17:20 : Register client 3 | Log Entry : 13-01-17 10:17:21 : Get authorization 4 | Log Entry : 13-01-17 10:17:21 : the email is diana@example.org 5 | -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-claims_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-claims_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-max_age=1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-max_age=1.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/SimpleIdentityServer-OP-Basic-19-December-2015.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/SimpleIdentityServer-OP-Basic-19-December-2015.zip -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/Conformance-Testing-Overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/Conformance-Testing-Overview.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-claims_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-claims_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-max_age.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-max_age.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-max_age=1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-max_age=1.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Basic-9-December-2015/code.config.static.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/SimpleIdentityServer-OP-Config-11-December-2015.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Config-11-December-2015/SimpleIdentityServer-OP-Config-11-December-2015.zip -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Config-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Config-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Config-19-January-2016/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Config-19-January-2016/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Dynamic-19-January-2016/code.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-max_age=1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-max_age=1.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-nonce-NoReq-noncode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-nonce-NoReq-noncode.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token+token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-nonce-NoReq-noncode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-nonce-NoReq-noncode.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+id_token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Hybrid-19-January-2016/code+token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/OpenID-Certification-Terms-and-Conditions.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/OpenID-Certification-of-Conformance.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/OpenID-Certification-of-Conformance.pdf -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-max_age=1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-max_age=1.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-nonce-NoReq-noncode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-nonce-NoReq-noncode.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token+token.dynamic.sign/OP-redirect_uri-Query-Mismatch.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-logo_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-logo_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-policy_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-policy_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-tos_uri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Registration-tos_uri.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-login_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-login_hint.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-max_age=1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-max_age=1.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-ui_locales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Req-ui_locales.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Response-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-Response-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-display-page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-display-page.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-display-popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-display-popup.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-nonce-NoReq-noncode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-nonce-NoReq-noncode.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-prompt-login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-prompt-login.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-prompt-none-NotLoggedIn.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Missing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Missing.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-NotReg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-NotReg.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Query-Added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Query-Added.png -------------------------------------------------------------------------------- /open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thabart/SimpleIdentityServer/5712aefff2ada84e08d0a38c42b1de5e820a0d24/open-id-testing/SimpleIdentityServer-OP-Implicit-19-January-2016/id_token.config.dynamic.sign/OP-redirect_uri-Query-Mismatch.png --------------------------------------------------------------------------------