├── .markdownlintignore ├── conformance-tests ├── basic-skips.json ├── basic-warnings.json ├── implicit-skips.json ├── implicit-warnings.json ├── sample-warnings.json ├── conformance-basic-deployed.json └── conformance-basic-local.json ├── .markdownlint.yml ├── docker ├── nginx-certs │ ├── expiration │ ├── default.key │ └── README.md ├── ssp │ ├── oidc_module.crt │ ├── config-override.php │ ├── oidc_module.key │ └── authsources.php ├── apache-override.cf ├── Dockerfile └── docker-compose.yml ├── docs ├── oidc.png └── 7-oidc-faq.md ├── .gitignore ├── src ├── Exceptions │ ├── OidcException.php │ └── AuthorizationException.php ├── Codebooks │ ├── ParametersEnum.php │ ├── DateFormatsEnum.php │ ├── LimitsEnum.php │ ├── RegistrationTypeEnum.php │ └── RoutesEnum.php ├── Server │ ├── Grants │ │ └── Interfaces │ │ │ ├── OidcCapableGrantTypeInterface.php │ │ │ ├── PkceEnabledGrantTypeInterface.php │ │ │ └── AuthorizationValidatableWithRequestRules.php │ ├── ResponseTypes │ │ └── Interfaces │ │ │ ├── AcrResponseTypeInterface.php │ │ │ ├── SessionIdResponseTypeInterface.php │ │ │ ├── NonceResponseTypeInterface.php │ │ │ └── AuthTimeResponseTypeInterface.php │ ├── TokenIssuers │ │ └── AbstractTokenIssuer.php │ ├── RequestRules │ │ ├── Interfaces │ │ │ ├── ResultInterface.php │ │ │ ├── ResultBagInterface.php │ │ │ └── RequestRuleInterface.php │ │ ├── Rules │ │ │ ├── AbstractRule.php │ │ │ ├── AddClaimsToIdTokenRule.php │ │ │ ├── UiLocalesRule.php │ │ │ ├── StateRule.php │ │ │ ├── ResponseTypeRule.php │ │ │ ├── RequiredNonceRule.php │ │ │ ├── RequiredOpenIdScopeRule.php │ │ │ ├── CodeVerifierRule.php │ │ │ ├── ScopeOfflineAccessRule.php │ │ │ └── RedirectUriRule.php │ │ ├── Result.php │ │ └── ResultBag.php │ └── Associations │ │ ├── Interfaces │ │ └── RelyingPartyAssociationInterface.php │ │ └── RelyingPartyAssociation.php ├── Utils │ ├── FederationCache.php │ ├── ProtocolCache.php │ ├── ClassInstanceBuilder.php │ ├── JwksResolver.php │ └── FingerprintGenerator.php ├── Bridges │ ├── SspBridge │ │ ├── Auth │ │ │ └── Source.php │ │ ├── Module │ │ │ └── Admin.php │ │ ├── Auth.php │ │ ├── Module.php │ │ └── Utils.php │ ├── SspBridge.php │ └── PsrHttpBridge.php ├── Entities │ ├── Interfaces │ │ ├── EntityStringRepresentationInterface.php │ │ ├── TokenRevokableInterface.php │ │ ├── AccessTokenEntityInterface.php │ │ ├── RefreshTokenEntityInterface.php │ │ ├── AuthCodeEntityInterface.php │ │ ├── TokenAssociatableWithAuthCodeInterface.php │ │ ├── ScopeInterface.php │ │ ├── ClaimSetInterface.php │ │ ├── ClaimSetEntityInterface.php │ │ ├── MementoInterface.php │ │ └── ClientEntityInterface.php │ ├── Traits │ │ ├── AssociateWithAuthCodeTrait.php │ │ ├── OidcAuthCodeTrait.php │ │ └── RevokeTokenTrait.php │ ├── ClaimSetEntity.php │ ├── ScopeEntity.php │ ├── RefreshTokenEntity.php │ └── UserEntity.php ├── Factories │ ├── Entities │ │ ├── ClaimSetEntityFactory.php │ │ ├── ScopeEntityFactory.php │ │ ├── UserEntityFactory.php │ │ └── RefreshTokenEntityFactory.php │ ├── CryptKeyFactory.php │ ├── ProcessingChainFactory.php │ ├── ResourceServerFactory.php │ ├── CoreFactory.php │ ├── JwksFactory.php │ ├── IdTokenResponseFactory.php │ ├── Grant │ │ ├── RefreshTokenGrantFactory.php │ │ └── ImplicitGrantFactory.php │ ├── FormFactory.php │ ├── AuthSimpleFactory.php │ └── FederationFactory.php ├── Stores │ └── Session │ │ ├── LogoutTicketStoreInterface.php │ │ └── LogoutTicketStoreBuilder.php ├── Repositories │ ├── Interfaces │ │ ├── AuthCodeRepositoryInterface.php │ │ ├── RefreshTokenRepositoryInterface.php │ │ ├── IdentityProviderInterface.php │ │ └── AccessTokenRepositoryInterface.php │ ├── AbstractDatabaseRepository.php │ └── CodeChallengeVerifiersRepository.php ├── Admin │ ├── Menu │ │ └── Item.php │ ├── Menu.php │ └── Authorization.php ├── Helpers │ ├── DateTime.php │ ├── Random.php │ ├── Str.php │ ├── Scope.php │ ├── Client.php │ ├── Http.php │ └── Arr.php ├── Services │ ├── StateService.php │ ├── SessionMessagesService.php │ ├── ErrorResponder.php │ └── LogoutTokenBuilder.php ├── Controllers │ ├── ConfigurationDiscoveryController.php │ ├── JwksController.php │ └── Traits │ │ └── RequestTrait.php ├── Helpers.php └── Forms │ └── Controls │ └── CsrfProtection.php ├── tests ├── unit │ └── src │ │ ├── Services │ │ ├── IdTokenBuilderTest.php │ │ ├── SessionServiceTest.php │ │ ├── StateServiceTest.php │ │ └── SessionMessagesServiceTest.php │ │ ├── Factories │ │ ├── AuthSimpleFactoryTest.php │ │ └── FormFactoryTest.php │ │ ├── Server │ │ ├── AuthorizationServerTest.php │ │ ├── RequestTypes │ │ │ └── AuthorizationRequestTest.php │ │ ├── RequestRules │ │ │ ├── ResultTest.php │ │ │ └── ResultBagTest.php │ │ └── Associations │ │ │ └── RelyingPartyAssociationTest.php │ │ ├── Bridges │ │ ├── SspBridge │ │ │ ├── Auth │ │ │ │ └── SourceTest.php │ │ │ ├── AuthTest.php │ │ │ ├── Module │ │ │ │ └── AdminTest.php │ │ │ ├── ModuleTest.php │ │ │ └── UtilsTest.php │ │ └── SspBridgeTest.php │ │ ├── Entities │ │ ├── ClaimSetEntityTest.php │ │ └── ScopeEntityTest.php │ │ ├── Codebooks │ │ └── RegistrationTypeEnumTest.php │ │ ├── Helpers │ │ ├── StrTest.php │ │ ├── RandomTest.php │ │ ├── DateTimeTest.php │ │ ├── ScopeTest.php │ │ └── ArrTest.php │ │ ├── Stores │ │ └── Session │ │ │ ├── LogoutTicketStoreBuilderTest.php │ │ │ └── LogoutTicketStoreDbTest.php │ │ ├── HelpersTest.php │ │ ├── Admin │ │ ├── Menu │ │ │ └── ItemTest.php │ │ └── MenuTest.php │ │ └── Repositories │ │ ├── CodeChallengeVerifiersRepositoryTest.php │ │ └── AbstractDatabaseRepositoryTest.php └── bootstrap.php ├── templates ├── includes │ └── menu.twig ├── logout.twig ├── clients │ ├── add.twig │ └── edit.twig ├── config │ └── migrations.twig └── base.twig ├── .github └── workflows │ ├── sonar.yml │ └── documentation.yml ├── public ├── jwks.php ├── logout.php ├── userinfo.php ├── token.php ├── authorize.php ├── openid-configuration.php └── assets │ ├── js │ └── src │ │ ├── default.js │ │ └── client-form.js │ └── css │ └── src │ └── default.css ├── README.md ├── phpunit.xml ├── phpunit.integration.xml ├── rector.php ├── bin └── install.php ├── LICENSE ├── phpcs.xml ├── .php_cs.dist ├── hooks ├── hook_federationpage.php └── hook_adminmenu.php └── psalm.xml /.markdownlintignore: -------------------------------------------------------------------------------- 1 | vendor/* -------------------------------------------------------------------------------- /conformance-tests/basic-skips.json: -------------------------------------------------------------------------------- 1 | [ 2 | ] -------------------------------------------------------------------------------- /conformance-tests/basic-warnings.json: -------------------------------------------------------------------------------- 1 | [ 2 | ] -------------------------------------------------------------------------------- /conformance-tests/implicit-skips.json: -------------------------------------------------------------------------------- 1 | [ 2 | ] -------------------------------------------------------------------------------- /conformance-tests/implicit-warnings.json: -------------------------------------------------------------------------------- 1 | [ 2 | ] -------------------------------------------------------------------------------- /.markdownlint.yml: -------------------------------------------------------------------------------- 1 | --- 2 | default: true 3 | 4 | MD013: false -------------------------------------------------------------------------------- /docker/nginx-certs/expiration: -------------------------------------------------------------------------------- 1 | notAfter=Feb 28 22:58:22 2022 GMT 2 | -------------------------------------------------------------------------------- /docs/oidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simplesamlphp/simplesamlphp-module-oidc/HEAD/docs/oidc.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build/ 2 | /vendor/ 3 | /.php_cs.cache 4 | /composer.lock 5 | /phpunit.yml 6 | .phpunit.result.cache 7 | /.idea/ 8 | *~ -------------------------------------------------------------------------------- /src/Exceptions/OidcException.php: -------------------------------------------------------------------------------- 1 | markTestIncomplete(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/unit/src/Services/SessionServiceTest.php: -------------------------------------------------------------------------------- 1 | markTestIncomplete(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/unit/src/Factories/AuthSimpleFactoryTest.php: -------------------------------------------------------------------------------- 1 | markTestIncomplete(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/unit/src/Server/AuthorizationServerTest.php: -------------------------------------------------------------------------------- 1 | markTestIncomplete(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/Server/ResponseTypes/Interfaces/NonceResponseTypeInterface.php: -------------------------------------------------------------------------------- 1 | 3 |
20 | {% if wasLogoutActionCalled %} 21 | {{ 'You can now close this window or navigate to another page.'|trans }} 22 | {% else %} 23 | {{ 'Requested session was not found or it is expired.'|trans }} 24 | {% endif %} 25 |
26 |{{ 'All database migrations are implemented.'|trans }}
9 | {% else %} 10 |11 | 12 | {% trans %}There are database migrations that have not been implemented. 13 | Use the button below to run them now.{% endtrans %} 14 |
15 | 16 | 21 |