├── .gitignore ├── LICENSE ├── README.md ├── docs └── images │ ├── configure-direct-grant-flow.png │ ├── direct-grants-flow.png │ ├── sample-api-postman.png │ └── user-attribute.png ├── example-spring-keycloak ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── carbonrider │ │ └── keycloak │ │ └── api │ │ └── example │ │ ├── SpringKeycloakAPIApplication.java │ │ ├── configuration │ │ └── ExampleConfiguration.java │ │ └── controller │ │ ├── HelloController.java │ │ └── HelloMessage.java │ └── resources │ └── application.properties ├── keycloak-api-key-core ├── Dockerfile ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── carbonrider │ │ └── keycloak │ │ ├── api │ │ ├── APIKeyEndpointResource.java │ │ ├── APIKeyEndpointResourceFactory.java │ │ └── APIKeyEndpointResourceProvider.java │ │ ├── domain │ │ └── APIKeyDomain.java │ │ ├── exception │ │ ├── APIKeyException.java │ │ ├── APIKeyNotConfiguredForUserException.java │ │ ├── ErrorMessage.java │ │ ├── ExceptionResponseHandler.java │ │ ├── InvalidAPIKeyException.java │ │ ├── UnauthorizedAccessException.java │ │ └── UserNotFoundException.java │ │ ├── model │ │ └── APIKey.java │ │ └── provider │ │ ├── APIKeyAuthenticationProviderFactory.java │ │ └── APIKeyAuthenticator.java │ └── resources │ └── META-INF │ ├── jboss-deployment-structure.xml │ └── services │ ├── org.keycloak.authentication.AuthenticatorFactory │ └── org.keycloak.services.resource.RealmResourceProviderFactory ├── keycloak-spring-api-key-adapter ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── carbonrider │ └── keycloak │ └── spring │ ├── adapter │ └── KeycloakAPIKeySecurityAdapter.java │ └── filter │ └── KeycloakAPIKeyProcessingFilter.java └── pom.xml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/README.md -------------------------------------------------------------------------------- /docs/images/configure-direct-grant-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/docs/images/configure-direct-grant-flow.png -------------------------------------------------------------------------------- /docs/images/direct-grants-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/docs/images/direct-grants-flow.png -------------------------------------------------------------------------------- /docs/images/sample-api-postman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/docs/images/sample-api-postman.png -------------------------------------------------------------------------------- /docs/images/user-attribute.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/docs/images/user-attribute.png -------------------------------------------------------------------------------- /example-spring-keycloak/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/pom.xml -------------------------------------------------------------------------------- /example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/SpringKeycloakAPIApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/SpringKeycloakAPIApplication.java -------------------------------------------------------------------------------- /example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/configuration/ExampleConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/configuration/ExampleConfiguration.java -------------------------------------------------------------------------------- /example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/controller/HelloController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/controller/HelloController.java -------------------------------------------------------------------------------- /example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/controller/HelloMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/src/main/java/com/carbonrider/keycloak/api/example/controller/HelloMessage.java -------------------------------------------------------------------------------- /example-spring-keycloak/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/example-spring-keycloak/src/main/resources/application.properties -------------------------------------------------------------------------------- /keycloak-api-key-core/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/Dockerfile -------------------------------------------------------------------------------- /keycloak-api-key-core/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/pom.xml -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResource.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResourceFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResourceFactory.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResourceProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/api/APIKeyEndpointResourceProvider.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/domain/APIKeyDomain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/domain/APIKeyDomain.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/APIKeyException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/APIKeyException.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/APIKeyNotConfiguredForUserException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/APIKeyNotConfiguredForUserException.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/ErrorMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/ErrorMessage.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/ExceptionResponseHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/ExceptionResponseHandler.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/InvalidAPIKeyException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/InvalidAPIKeyException.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/UnauthorizedAccessException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/UnauthorizedAccessException.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/UserNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/exception/UserNotFoundException.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/model/APIKey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/model/APIKey.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/provider/APIKeyAuthenticationProviderFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/provider/APIKeyAuthenticationProviderFactory.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/provider/APIKeyAuthenticator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/java/com/carbonrider/keycloak/provider/APIKeyAuthenticator.java -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/resources/META-INF/jboss-deployment-structure.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/resources/META-INF/jboss-deployment-structure.xml -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/resources/META-INF/services/org.keycloak.authentication.AuthenticatorFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-api-key-core/src/main/resources/META-INF/services/org.keycloak.authentication.AuthenticatorFactory -------------------------------------------------------------------------------- /keycloak-api-key-core/src/main/resources/META-INF/services/org.keycloak.services.resource.RealmResourceProviderFactory: -------------------------------------------------------------------------------- 1 | com.carbonrider.keycloak.api.APIKeyEndpointResourceFactory -------------------------------------------------------------------------------- /keycloak-spring-api-key-adapter/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-spring-api-key-adapter/pom.xml -------------------------------------------------------------------------------- /keycloak-spring-api-key-adapter/src/main/java/com/carbonrider/keycloak/spring/adapter/KeycloakAPIKeySecurityAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-spring-api-key-adapter/src/main/java/com/carbonrider/keycloak/spring/adapter/KeycloakAPIKeySecurityAdapter.java -------------------------------------------------------------------------------- /keycloak-spring-api-key-adapter/src/main/java/com/carbonrider/keycloak/spring/filter/KeycloakAPIKeyProcessingFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/keycloak-spring-api-key-adapter/src/main/java/com/carbonrider/keycloak/spring/filter/KeycloakAPIKeyProcessingFilter.java -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carbonrider/keycloak-api-key-module/HEAD/pom.xml --------------------------------------------------------------------------------