Coder Social home page Coder Social logo

authlete / java-oauth-server Goto Github PK

View Code? Open in Web Editor NEW
262.0 19.0 83.0 590 KB

Authorization Server Implementation in Java supporting OAuth 2.0 & OpenID Connect

Home Page: https://www.authlete.com/

License: Apache License 2.0

Java 98.09% CSS 1.10% HTML 0.67% Dockerfile 0.06% Shell 0.08%

java-oauth-server's Introduction

Authorization Server Implementation in Java

Overview

This is an authorization server implementation in Java which supports OAuth 2.0 and OpenID Connect.

This implementation is written using JAX-RS 2.0 API and authlete-java-jaxrs library. JAX-RS is The Java API for RESTful Web Services. JAX-RS 2.0 API has been standardized by JSR 339 and it is included in Java EE 7. On the other hand, authlete-java-jaxrs library is an open source library which provides utility classes for developers to implement an authorization server and a resource server. authlete-java-jaxrs in turn uses authlete-java-common library which is another open source library to communicate with Authlete Web APIs.

This implementation is DB-less. What this means is that you don't have to have a database server that stores authorization data (e.g. access tokens), settings of the authorization server itself and settings of client applications. This is achieved by using Authlete as a backend service.

Access tokens issued by this authorization server can be used at a resource server which uses Authlete as a backend service. java-resource-server is such a resource server implementation. It includes an example implementation of protected resource endpoint.

License

Apache License, Version 2.0

JSON files under src/main/resources/ekyc-ida have been copied from https://bitbucket.org/openid/ekyc-ida/src/master/examples/response/ . Regarding their license, ask the eKYC-IDA WG of OpenID Foundation.

Source Code

https://github.com/authlete/java-oauth-server

About Authlete

Authlete is a cloud service that provides an implementation of OAuth 2.0 & OpenID Connect (overview). You can easily get the functionalities of OAuth 2.0 and OpenID Connect either by using the default implementation provided by Authlete or by implementing your own authorization server using Authlete Web APIs as this implementation (java-oauth-server) does.

To use this authorization server implementation, you need to get API credentials from Authlete and set them in authlete.properties. The steps to get API credentials are very easy. All you have to do is just to register your account (sign up). See Getting Started for details.

How To Run

  1. Download the source code of this authorization server implementation.

     $ git clone https://github.com/authlete/java-oauth-server.git
     $ cd java-oauth-server
    
  2. Edit the configuration file to set the API credentials of yours.

     $ vi authlete.properties
    
  3. Make sure that you have installed maven and set JAVA_HOME properly.

  4. Start the authorization server on http://localhost:8080.

     $ mvn jetty:run &
    

Run With Docker

If you would prefer to use Docker, just hit the following command after the step 2.

$ docker-compose up

Configuration File

java-oauth-server refers to authlete.properties as a configuration file. If you want to use another different file, specify the name of the file by the system property authlete.configuration.file like the following.

$ mvn -Dauthlete.configuration.file=local.authlete.properties jetty:run &

Endpoints

This implementation exposes endpoints as listed in the table below.

Endpoint Path
Authorization Endpoint /api/authorization
Token Endpoint /api/token
JWK Set Endpoint /api/jwks
Discovery Endpoint /.well-known/openid-configuration
Revocation Endpoint /api/revocation
Introspection Endpoint /api/introspection
UserInfo Endpoint /api/userinfo
Dynamic Client Registration Endpoint /api/register
Pushed Authorization Request Endpoint /api/par
Grant Management Endpoint /api/gm/{grantId}
Federation Configuration Endpoint /.well-known/openid-federation
Federation Registration Endpoint /api/federation/register
Credential Issuer Metadata Endpoint /.well-known/openid-credential-issuer
JWT Issuer Metadata Endpoint /.well-known/jwt-issuer

The authorization endpoint and the token endpoint accept parameters described in RFC 6749, OpenID Connect Core 1.0, OAuth 2.0 Multiple Response Type Encoding Practices, RFC 7636 (PKCE) and other specifications.

The JWK Set endpoint exposes a JSON Web Key Set document (JWK Set) so that client applications can (1) verify signatures by this OpenID Provider and (2) encrypt their requests to this OpenID Provider.

The configuration endpoint exposes the configuration information of this OpenID Provider in the JSON format defined in OpenID Connect Discovery 1.0.

The revocation endpoint is a Web API to revoke access tokens and refresh tokens. Its behavior is defined in RFC 7009.

The introspection endpoint is a Web API to get information about access tokens and refresh tokens. Its behavior is defined in RFC 7662.

The userinfo endpoint is a Web API to get information about an end-user. Its behavior is defined in Section 5.3. UserInfo Endpoint of OpenID Connect Core 1.0.

The dynamic client registration endpoint is a Web API to register and update client applications. Its behavior is defined in RFC 7591 and RFC 7592.

The pushed authorization request endpoint (a.k.a. PAR endpoint) is a Web API to register an authorization request in advance and obtain a request URI. Its behavior is defined in RFC 9126.

The grant management endpoint is a Web API to get information about a grant ID and revoke a grant ID. Its behavior is defined in Grant Management for OAuth 2.0.

The federation configuration endpoint is a Web API that publishes the entity configuration of the authorization server in the JWT format. Its behavior is defined in OpenID Federation 1.0.

Authorization Request Example

The following is an example to get an access token from the authorization endpoint using Implicit Flow. Don't forget to replace {client-id} in the URL with the real client ID of one of your client applications. As for client applications, see Getting Started and the document of Developer Console.

http://localhost:8080/api/authorization?client_id={client-id}&response_type=token

The request above will show you an authorization page. The page asks you to input login credentials and click "Authorize" button or "Deny" button. Use one of the following as login credentials.

Login ID Password
john john
jane jane
max max
inga inga

Of course, these login credentials are dummy data, so you need to replace the user database implementation with your own.

The account max is for the old draft of OpenID Connect for Identity Assurance 1.0 (IDA). The account holds verified claims in the old format. Authlete 2.2 accepts the old format but Authlete 2.3 onwards will reject it.

The account inga is for the third Implementer's Draft of IDA onwards. Use inga for testing the latest IDA specification. However, note that the third Implementer's Draft onwards is supported from Authlete 2.3. Older Authlete versions do not support the latest IDA specification.

Customization

How to customize this implementation is described in CUSTOMIZATION.md. Basically, you need to do programming for end-user authentication because Authlete does not manage end-user accounts. This is by design. The architecture of Authlete carefully separates authorization from authentication so that you can add OAuth 2.0 and OpenID Connect functionalities seamlessly into even an existing web service which may already have a mechanism for end-user authentication.

Implementation Note

This implementation uses Viewable class to implement the authorization page. The class is included in Jersey (the reference implementation of JAX-RS), but it is not a part of JAX-RS 2.0 API.

Related Specifications

See Also

Contact

Purpose Email Address
General [email protected]
Sales [email protected]
PR [email protected]
Technical [email protected]

java-oauth-server's People

Contributors

dcreado avatar dependabot[bot] avatar hefa avatar hidebike712 avatar jogu avatar jricher avatar masamasamasashito avatar skyforce77 avatar takahikokawasaki avatar tkudo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

java-oauth-server's Issues

command " mvn jetty:run & " is fine for windows but in ubuntu 16 it is not working.

sanghapal@nikhil:~/java-oauth-server$ [INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building java-oauth-server 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> jetty-maven-plugin:9.3.7.v20160115:run (default-cli) > test-compile @ java-oauth-server >>>
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ java-oauth-server ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/sanghapal/java-oauth-server/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ java-oauth-server ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 12 source files to /home/sanghapal/java-oauth-server/target/classes
[ERROR] error reading /home/sanghapal/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.core/2.6.0/org.eclipse.persistence.core-2.6.0.jar; invalid CEN header (bad signature)
[ERROR] error reading /home/sanghapal/.m2/repository/org/eclipse/persistence/org.eclipse.persistence.asm/2.6.0/org.eclipse.persistence.asm-2.6.0.jar; invalid LOC header (bad signature)
[ERROR] error reading /home/sanghapal/.m2/repository/org/glassfish/jersey/ext/jersey-mvc-jsp/2.22.1/jersey-mvc-jsp-2.22.1.jar; invalid LOC header (bad signature)
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ java-oauth-server ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/sanghapal/java-oauth-server/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:testCompile (default-testCompile) @ java-oauth-server ---
[INFO] No sources to compile
[INFO]
[INFO] <<< jetty-maven-plugin:9.3.7.v20160115:run (default-cli) < test-compile @ java-oauth-server <<<
[INFO]
[INFO] --- jetty-maven-plugin:9.3.7.v20160115:run (default-cli) @ java-oauth-server ---
[INFO] Logging initialized @6792ms
[INFO] Configuring Jetty for project: java-oauth-server
[INFO] webAppSourceDirectory not set. Trying src/main/webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = /home/sanghapal/java-oauth-server/target/classes
[INFO] Context path = /
[INFO] Tmp directory = /home/sanghapal/java-oauth-server/target/tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides = none
[INFO] web.xml file = file:///home/sanghapal/java-oauth-server/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = /home/sanghapal/java-oauth-server/src/main/webapp
[INFO] jetty-9.3.7.v20160115
[INFO] Started ServerConnector@50101650{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[INFO] Jetty server exiting.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.937 s
[INFO] Finished at: 2017-09-04T10:50:37+05:30
[INFO] Final Memory: 25M/235M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.eclipse.jetty:jetty-maven-plugin:9.3.7.v20160115:run (default-cli) on project java-oauth-server: Execution default-cli of goal org.eclipse.jetty:jetty-maven-plugin:9.3.7.v20160115:run failed: A required class was missing while executing org.eclipse.jetty:jetty-maven-plugin:9.3.7.v20160115:run: org/eclipse/persistence/internal/queries/ContainerPolicy
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.eclipse.jetty:jetty-maven-plugin:9.3.7.v20160115
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-maven-plugin/9.3.7.v20160115/jetty-maven-plugin-9.3.7.v20160115.jar
[ERROR] urls[1] = file:/home/sanghapal/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.1.1/sisu-inject-bean-2.1.1.jar
[ERROR] urls[2] = file:/home/sanghapal/.m2/repository/org/sonatype/sisu/sisu-guice/2.9.4/sisu-guice-2.9.4-no_aop.jar
[ERROR] urls[3] = file:/home/sanghapal/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar
[ERROR] urls[4] = file:/home/sanghapal/.m2/repository/org/sonatype/aether/aether-util/1.11/aether-util-1.11.jar
[ERROR] urls[5] = file:/home/sanghapal/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[6] = file:/home/sanghapal/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[7] = file:/home/sanghapal/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[8] = file:/home/sanghapal/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[9] = file:/home/sanghapal/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-tools-api/3.4/maven-plugin-tools-api-3.4.jar
[ERROR] urls[10] = file:/home/sanghapal/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
[ERROR] urls[11] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-util/9.3.7.v20160115/jetty-util-9.3.7.v20160115.jar
[ERROR] urls[12] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-webapp/9.3.7.v20160115/jetty-webapp-9.3.7.v20160115.jar
[ERROR] urls[13] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-xml/9.3.7.v20160115/jetty-xml-9.3.7.v20160115.jar
[ERROR] urls[14] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-servlet/9.3.7.v20160115/jetty-servlet-9.3.7.v20160115.jar
[ERROR] urls[15] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-quickstart/9.3.7.v20160115/jetty-quickstart-9.3.7.v20160115.jar
[ERROR] urls[16] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-jaas/9.3.7.v20160115/jetty-jaas-9.3.7.v20160115.jar
[ERROR] urls[17] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-security/9.3.7.v20160115/jetty-security-9.3.7.v20160115.jar
[ERROR] urls[18] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-plus/9.3.7.v20160115/jetty-plus-9.3.7.v20160115.jar
[ERROR] urls[19] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-jndi/9.3.7.v20160115/jetty-jndi-9.3.7.v20160115.jar
[ERROR] urls[20] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-server/9.3.7.v20160115/jetty-server-9.3.7.v20160115.jar
[ERROR] urls[21] = file:/home/sanghapal/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
[ERROR] urls[22] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-http/9.3.7.v20160115/jetty-http-9.3.7.v20160115.jar
[ERROR] urls[23] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-io/9.3.7.v20160115/jetty-io-9.3.7.v20160115.jar
[ERROR] urls[24] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-jmx/9.3.7.v20160115/jetty-jmx-9.3.7.v20160115.jar
[ERROR] urls[25] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/jetty-annotations/9.3.7.v20160115/jetty-annotations-9.3.7.v20160115.jar
[ERROR] urls[26] = file:/home/sanghapal/.m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar
[ERROR] urls[27] = file:/home/sanghapal/.m2/repository/org/ow2/asm/asm/5.0.1/asm-5.0.1.jar
[ERROR] urls[28] = file:/home/sanghapal/.m2/repository/org/ow2/asm/asm-commons/5.0.1/asm-commons-5.0.1.jar
[ERROR] urls[29] = file:/home/sanghapal/.m2/repository/org/ow2/asm/asm-tree/5.0.1/asm-tree-5.0.1.jar
[ERROR] urls[30] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-server-impl/9.3.7.v20160115/javax-websocket-server-impl-9.3.7.v20160115.jar
[ERROR] urls[31] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/javax-websocket-client-impl/9.3.7.v20160115/javax-websocket-client-impl-9.3.7.v20160115.jar
[ERROR] urls[32] = file:/home/sanghapal/.m2/repository/javax/websocket/javax.websocket-api/1.0/javax.websocket-api-1.0.jar
[ERROR] urls[33] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/websocket-server/9.3.7.v20160115/websocket-server-9.3.7.v20160115.jar
[ERROR] urls[34] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/websocket-common/9.3.7.v20160115/websocket-common-9.3.7.v20160115.jar
[ERROR] urls[35] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/websocket-api/9.3.7.v20160115/websocket-api-9.3.7.v20160115.jar
[ERROR] urls[36] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/websocket-client/9.3.7.v20160115/websocket-client-9.3.7.v20160115.jar
[ERROR] urls[37] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/websocket/websocket-servlet/9.3.7.v20160115/websocket-servlet-9.3.7.v20160115.jar
[ERROR] urls[38] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/apache-jsp/9.3.7.v20160115/apache-jsp-9.3.7.v20160115.jar
[ERROR] urls[39] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/toolchain/jetty-schemas/3.1/jetty-schemas-3.1.jar
[ERROR] urls[40] = file:/home/sanghapal/.m2/repository/org/mortbay/jasper/apache-jsp/8.0.27/apache-jsp-8.0.27.jar
[ERROR] urls[41] = file:/home/sanghapal/.m2/repository/org/mortbay/jasper/apache-el/8.0.27/apache-el-8.0.27.jar
[ERROR] urls[42] = file:/home/sanghapal/.m2/repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar
[ERROR] urls[43] = file:/home/sanghapal/.m2/repository/org/eclipse/jetty/apache-jstl/9.3.7.v20160115/apache-jstl-9.3.7.v20160115.jar
[ERROR] urls[44] = file:/home/sanghapal/.m2/repository/org/apache/taglibs/taglibs-standard-spec/1.2.5/taglibs-standard-spec-1.2.5.jar
[ERROR] urls[45] = file:/home/sanghapal/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.5/taglibs-standard-impl-1.2.5.jar
[ERROR] urls[46] = file:/home/sanghapal/.m2/repository/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: org.eclipse.persistence.internal.queries.ContainerPolicy
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

Incorrect 'aud' claim in access tokens

The 'aud' claim in a access token is meant to refer to the resource server.
However, my access token always has client_id in the 'aud' claim .
Is there something wrong?

VCI - Using unsupported cryptographic binding method `x5c`

In the VCI issuer meta-data there is a credential_configuration_id named IdentityCredential which contains the following:

{

      "cryptographic_binding_methods_supported": [
        "jwk",
        "x5c"
      ]
}

To my understanding draft 13 of VCI doesn't specify the value x5c as an expected cryptographic_binding_methods_supported.
Expected values are

  • jwk
  • cose_key
  • did
  • did:XYZ

Grant request instead of Implicit Flow + Walkthru

I'm studying Oauth/OpenID Connect and available implementations, I have installed your AS/RS demo and I have understood that you implemented an 'implicit flow'. I have understood that the implicit flow generates only a short living token and does not assign to the client a long living grant.

Does your demo support the Grant+token interaction flow?.. and in case can you add to your demo a guide regarding this case (http requests and so on)?

I'm just learning at the moment, so, I hope to have understood the basics well.
Regards

I tried to import project in eclipse but i got following errors in ubuntu 16 ,it works fine for windows

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/java-oauth-server]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/java-oauth-server]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@6e73e5f8]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4860)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4992)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@2c1a00d0]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140)
at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:721)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: invalid CEN header (bad signature)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107)
... 12 more
Caused by: java.util.zip.ZipException: invalid CEN header (bad signature)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:219)
at java.util.zip.ZipFile.(ZipFile.java:149)
at java.util.jar.JarFile.(JarFile.java:166)
at java.util.jar.JarFile.(JarFile.java:103)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110)
... 13 more

Sep 04, 2017 9:53:59 AM org.apache.catalina.core.ContainerBase startInternal
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:656)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more

Sep 04, 2017 9:53:59 AM org.apache.catalina.startup.Catalina start
SEVERE: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.startup.Catalina.start(Catalina.java:656)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:947)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more

Sep 04, 2017 9:53:59 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-nio-8080"]
Sep 04, 2017 9:53:59 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
Sep 04, 2017 9:53:59 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service [Catalina]
Sep 04, 2017 9:53:59 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-nio-8080"]
Sep 04, 2017 9:53:59 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-nio-8009"]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.