Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
JSON Web Token Authentication plugin enables passing of authentication payload in the form of JSON web token to Joget for authentication.
Plugin source code available at https://github.com/jogetoss/json-web-token-authentication
This plugin has been tested to work with Google and OKTA with the use of https://github.com/oauth2-proxy/oauth2-proxy.
Configure and start oauth2-proxy on docker
docker run -p 4180:4180 quay.io/oauth2-proxy/oauth2-proxy:latest \
--http-address=0.0.0.0:4180 \
--email-domain=* \
--cookie-secure=false \
--cookie-secret=CookieSecret \
--upstream=http://host.docker.internal:8080/ \
--provider=google \
--client-id=ClientID \
--client-secret=ClientSecret \
--pass-authorization-header=true \
--pass-access-token=true \
--pass-basic-auth=true
After authentication oauth2-proxy forwards all authenticated requests to the upstream server, here is http://127.0.0.1:4180/ which will redirect to the tomcat default page so you need to modify the index.jsp in (tomcat/webapps/ROOT/index.jsp) to turn it to the plugin web service in order to do the login. Replace the page with
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <html> <head> <title>JSP Redirect</title> </head> <body> <% String redirectURL = "http://127.0.0.1:4180/jw/web/json/plugin/org.joget.plugin.marketplace.JsonWebTokenDirectoryManager/service"; response.sendRedirect(redirectURL); %> </body> </html>