Giter Club home page Giter Club logo

dromara / maxkey Goto Github PK

View Code? Open in Web Editor NEW
1.3K 28.0 288.0 355.2 MB

🗝️MaxKey SSO ,Leading-Edge IAM-IDaas(Identity and Access Management) Product,业界领先的IAM-IDaas身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议,基于RBAC统一权限控制,实现用户生命周期管理,开源、安全、合规、自主可控。

Home Page: http://www.maxkey.top

License: Apache License 2.0

Batchfile 0.11% Java 68.43% JavaScript 0.50% FreeMarker 0.30% Shell 0.15% Less 10.22% Dockerfile 0.03% TypeScript 19.55% SCSS 0.16% Vue 0.55%
saml jwt cas rbac scim-2 sso mfa iam identity openid-connect

maxkey's Introduction

Leading-Edge IAM/IDaas Identity and Access Management Product

English | 中文

Overview

Maxkey Single Sign On System, which means the Maximum key, Leading-Edge IAM/IDaas Identity and Access Management product , Support OAuth 2.x/OpenID Connect, SAML 2.0, JWT, CAS, SCIM and other standard protocols, and provide Secure, Standard and Open Identity management (IDM), Access management (AM), Single Sign On (SSO), RBAC permission management and Resource management.

MaxKey focuses on performance, security, and ease of use in enterprise scenarios, is widely used in industries such as healthcare, finance, government, and manufacturing.

Official Website http://www.maxkey.top/

WeChat:

官方微信

QQ : 1054466084

email: [email protected]

Code Hosting GitHub | Gitee

Single Sign On ( SSO ),Users only need to login to the authentication center once , access all the trusted application systems without logging in again.

Key Functions

  1. All application systems share one Identity authentication system
  2. All application systems can Identify and extract Ticket

Features

  1. Standard Protocols
No. Protocols Support
1.1 OAuth 2.x/OpenID Connect HIGH
1.2 SAML 2.0 HIGH
1.3 JWT HIGH
1.4 CAS HIGH
1.5 SCIM 2.0 HIGH
1.6 FormBased MIDDLE
1.7 TokenBased(Post/Cookie) MIDDLE
1.8 ExtendApi LOW
1.9 EXT LOW
  1. Authentication
No. SignIn Support Support
2.1 Captcha letter / number / arithmetic
2.2 Two Factor Authentication SMS / TOPT/ Mail
2.3 SMS Tencent SMS / Alibaba SMS / NetEaseYunXin
2.4 TOTP Google/Microsoft Authenticator/FreeOTP/Support TOTP or HOTP
2.5 Domain Kerberos/SPNEGO/AD domain
2.6 LDAP OpenLDAP/ActiveDirectory/Standard LDAP Server
2.7 Social Account WeChat/QQ/ Weibo/DingTalk/Google/Facebook/other
2.8 Scan QR Code WorkWeiXin/DingTalk/FeiShu Scan QR Code
  1. Standard Authentication Protocols for applications to integrate sso, secure mobile access, secure API, third-party authentication and Internet authentication.

  2. Identity Lifecycle management, support SCIM 2 , and The out of the box connector realizes identity supply synchronization.

  3. Simplify Microsoft Active Directory , standard LDAP server organization and account management, and reset password through password self-service.

  4. The IDaas Multi-Tenancy authentication platform , supports the independent management of multiple enterprises under the group company or the data isolation of different departments under the enterprise, so as to reduce the operation and maintenance cost.

  5. The platform independence and diversity of environment. It supports web, mobile phone, mobile devices, such as apple IOS, Android, etc., and covers the certification ability from B/S to mobile applications.

  6. Configured password and access policies; Supports precise IP positioning in Ip2region or GeoLite2 geographic databases, powerful security auditing, full lifecycle audit of users, traceability audit of access behavior records, security compliance audit, and security risk warning.

  7. Based on Java EE platform , microservice architecture, Use Spring, MySQL, Tomcat, Redis , MQ and other open source technologies, and has strong scalability.

  8. Open Source, Secure, Compliance, Independent and Controllable .

Interface

MaxKey

Login UI

App List UI

MaxKey Management

Report UI

User Management UI

App Management UI

Download

Download the current version from Baidu Pan, history version

Version Date Pan URL (Code) Docker
v 4.0.3 2024/03/28 Download ( mxk9 ) Home

Install

OS Manual
Windows Document
Linux Document
Docker Document

License

Apache License, Version 2.0 & MaxKey copyright NOTICE

**信通院零信任实验室

**信通院零信任实验室

零信任标准工作组

国内最权威的零信任产业组织

Gitee最有价值开源项目GVP

Gitee-最有价值开源项目GVP

Dromara社区

Dromara致力于微服务云原生解决方案的组织。

  • 开放 技术栈全面开源共建、 保持社区中立、兼容社区 兼容开源生态

  • 愿景 让每一位开源爱好者,体会到开源的快乐

  • 口号 为往圣继绝学,一个人或许能走的更快,但一群人会走的更远

知识星球

User Registration

Click to register as MaxKey user and contribute to MaxKey!

以下为部分接入或测试中的用户

单位
**人民警察大学
兰州现代职业学院
长春职业技术学院
云南师范大学
云南农业职业技术学院
惠州卫生职业技术学院
宜昌市三峡中等专业学校
重庆市北碚图书馆
天津市劳动保障技师学院
南京财经高等职业技术学校
泸州市教育和体育局
余姚市教育局
**金融认证中心
国家高端智能化家用电器创新中心
国元证券
华夏金融租赁有限公司
国宝人寿保险股份有限公司
瀚华金控股份有限公司
紫金财产保险股份有限公司
路特斯**
奇瑞汽车股份有限公司
宇通客车股份有限公司
国家能源局
国务院港澳事务办公室
百度智能云身份管理服务
360公司
三一华兴
西藏阜康医院
海阳市人民医院
上海逸广信息科技有限公司
联鹏应用软件(上海)有限公司
上海万序健康科技有限公司
上海中商网络股份有限公司
上海半天妖餐饮管理有限公司
上海契胜科技有限公司
GAP盖璞(上海)商业有限公司
汤臣倍健股份有限公司
跳羚科技(厦门)有限公司
飞天诚信科技股份有限公司
浪潮工业互联网股份有限公司
唐颐控股有限公司
中创智维科技有限公司
中航金网(北京)电子商务有限公司
**航空制造技术研究院
中建国际投资集团有限公司
同方节能工程技术有限公司
云南航天工程物探检测股份有限公司
山东港口陆海国际物流集团有限公司
山东埃德森石油工程技术有限公司
山东第一医科大学第一附属医院
广州无线电集团
广州携旅信息科技有限公司
广州蓝深科技有限公司
广州广汽商贸物流有限公司
广州思迈特软件有限公司
广东鸿正软件技术有限公司
广东汇天航空航天科技有限公司
佛山众陶联供应链服务有限公司
河南新辰环保科技有限公司
黄河科技集团有限公司
豫信电子科技集团有限公司
双汇物流投资有限公司
广东漫云物联科技有限公司
深圳市金溢科技股份有限公司
深圳市中悦科技有限公司
深圳能源集团股份有限公司
深圳市东阳光实业发展有限公司
深圳云天励飞技术股份有限公司
深圳市维玛科技有限公司
深圳市观塘银河电讯科技有限公司
北京博亚思科技有限公司
北京银泰置业有限公司
北京和融通支付科技有限公司
北京微通新成网络科技有限公司
北京柏橡科技有限公司
浙江领湾网络有限公司
浙江申跃信息科技有限公司
浙江一舟电子科技股份有限公司
杭州润为数据科技有限公司
杭州马上自动化科技有限公司
景德镇黑猫集团有限责任公司
之江实验室
丽水市中医医院
宁波金融资产交易中心
德清智慧教育平台
江苏创致信息科技有限公司
无锡市陶都巨龙软件有限责任公司
TCL华星光电技术有限公司
万宝盛华集团
妙盈科技
尚企云链
华奕四库
海力控股集团
**融通教育集团
**天衡信息系统咨询管理有限公司
新开普电子股份有限公司
广西数字浪潮数据服务有限公司
百安居**
重庆两江协同创新区
万宝盛华大中华有限公司
哈尔滨途图科技有限公司
哈尔滨逐浪文化传媒有限公司
大连电瓷集团股份有限公司
锦州港股份有限公司
湖南数通信息技术服务有限公司
湖南湘邮科技股份有限公司
湖南省公共资源交易平台市场主体注册系统
湘潭智慧教育云统一认证平台
南京市智慧医疗投资运营服务有限公司
南凌科技股份有限公司
福建引迈信息技术有限公司
漳州信息产业集团有限公司
厦门茂商科技有限公司
惠州中京电子科技股份有限公司
武汉英特沃科技有限公司
武汉博特睿达智能科技有限公司
江西云车科技有限公司
天津汉通教育科技有限公司
天津市达恩华天智能科技有限公司
企思(天津)科技有限公司
凯盛工业互联网平台
吕梁市医改监测平台
遂宁市经济大数据平台
临沂市城市大脑物联网统一认证平台

maxkey's People

Contributors

0xcaffebabe avatar alanland avatar coloey avatar dependabot[bot] avatar iamdreaming avatar iwc2011911 avatar jlleitschuh avatar leron0705 avatar liyovoyil avatar mangolab-cc avatar oonxt avatar saiph77 avatar shimingxy avatar smallyaohailu avatar stdnt-xiao avatar stevenbelove avatar sudarshan-doiphode avatar tomsun28 avatar tzk007 avatar underdog-rj avatar vampireachao avatar whensuc avatar xuxiaowei-com-cn 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maxkey's Issues

docker容器环境下saml协议会报错

ide直接运行不会错,容器运行后端报org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/templates/saml2-post-binding.vm',
版本:master源码构建
jdk:oraclejdk8
初步怀疑是spring的ResourceLoader问题

如何在Linux下编译

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

单点注销功能支持oidc/saml

目前系统里面的单点注销功能只支持cas协议,希望oidc和saml也能支持。
现在的代码里,org.maxkey.authz.saml20.provider.endpoint.LogoutSamlEndpoint写的是「SAML单点注销地址接口」,但是貌似并不是,一般来说单点注销是idp注销后,sp也会被注销

docker环境登录图片验证码加载不出

验证码需要用到oraclejdk的相关代码,而构建docker引用的是openjdk,所以要么用oraclejdk的镜像,要么换一个captcha的开源工具,一般用docker的都喜欢用openjdk,所以有没有更好的解决方案?

No message found under code 'login.error.inactive' for locale 'zh_CN'.

org.springframework.context.NoSuchMessageException: No message found under code 'login.error.inactive' for locale 'zh_CN'.
	at org.springframework.context.support.AbstractMessageSource.getMessage(AbstractMessageSource.java:161)
	at org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:1316)
	at org.maxkey.web.WebContext.getI18nValue(WebContext.java:469)
	at org.maxkey.persistence.db.PasswordPolicyValidator.passwordPolicyValid(PasswordPolicyValidator.java:200)
	at org.maxkey.authn.RealmAuthenticationProvider.doInternalAuthenticate(RealmAuthenticationProvider.java:71)
	at org.maxkey.authn.AbstractAuthenticationProvider.authenticate(AbstractAuthenticationProvider.java:83)
	at org.maxkey.web.endpoint.LoginEndpoint.logon(LoginEndpoint.java:118)
	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.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
org.springframework.security.authentication.BadCredentialsException: admin status 0login.error.inactive
	at org.maxkey.persistence.db.PasswordPolicyValidator.passwordPolicyValid(PasswordPolicyValidator.java:200)
	at org.maxkey.authn.RealmAuthenticationProvider.doInternalAuthenticate(RealmAuthenticationProvider.java:71)
	at org.maxkey.authn.AbstractAuthenticationProvider.authenticate(AbstractAuthenticationProvider.java:83)
	at org.maxkey.web.endpoint.LoginEndpoint.logon(LoginEndpoint.java:118)
	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.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
2020-09-01 11:23:15,170 ERROR [http-nio-9521-exec-2] org.maxkey.authn.AbstractAuthenticationProvider:86 - Failed to authenticate user admin via RealmAuthenticationProvider: admin status 0login.error.inactive
2020-09-01 11:23:15,185 DEBUG [http-nio-9521-exec-9] org.maxkey.web.endpoint.LoginEndpoint:78 - LoginController /login.

查了下message 下的三个properties 文件,message_zh_CN.properties和 的 message.properties` 都是乱码,且修改 encoding 没有效果...

单点登录回调url问题

Describe the bug
单点登录回调url不正确

To Reproduce
Steps to reproduce the behavior:

  1. 启动两个cas客户端 A B(以下操作在同一浏览器)
  2. 首先访问客户端A会跳转到maxkeyurl?service=A
  3. 然后访问客户端B会跳转到maxkeyurl?service=B
  4. 此时如果在客户端B页进行登录,则会跳转到客户端A登录成功后的回调url

Expected behavior
第四步应该跳转到客户端B的回调url

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows10
  • Browser Edge
  • Version 90

可能的原因猜测
WebContext 设置了 FIRST_SAVED_REQUEST_PARAMETER 导致的

AppService.get方法查询sql却是查询mxk_ldap_context表,导致查询为空

操作过程:启动后端web 端口9527,启动web前端 端口8527。通过前端登录进入主页,在主页的应用中随意选择一个,会打开一个页面,但是报 INTERNAL_SERVER_ERROR!。后台日志显示因为查询app为空,然后将app放入缓存时报错,因为放入缓存需要app不为空。而app为空的原因是不查询app表而去查询ldap_conetext表。
image

重启后端服务,但是不登录,而是直接访问app的链接 http://localhost:8527/sign/authz/41065fe3-ae67-4172-a460-fd0079e88294,此时查询语句正常。

3.5.1版本saml2.0问题

1.maxkey的metadata在哪里下载
2.上传第三方应用的metadata时,出现错误
image
3.编辑已存在的saml应用,重新上传metadata,直接跳出显示更新成功,无法上传

请求联系方式

我最近对你的项目感兴趣,想要想你学习,一起研究,请留下联系方式或者加我,非常感谢
我联系方式:
QQ 463689898
WX tulogin

Docker Compose 环境无法启动

环境版本:
centos 7 + Docker Compose version v2.7.0

按照官网文档修改了IP 和 NGINX 域名。

image

[root@dingtalk_snyc docker]# docker-compose logs -f maxkey
maxkey | 2022-07-21 15:28:31.391 INFO [main] org.maxkey.MaxKeyApplication:46 - Start MaxKeyApplication ...
maxkey | 2022-07-21 15:28:33.202 INFO [main] org.springframework.boot.SpringApplication:62 -
maxkey | __ ___ __ __
maxkey | / |/ /__ ___ __ / ///__ __ __
maxkey | / /|
/ / _ /\ \ // ,< / -_) // / maxkey | /_/ /_/\_,_//_\_\/_/|_|\__/\_, / maxkey | /___/ maxkey | :: MaxKey :: (v3.5.2 GA) maxkey | maxkey | 2022-07-21 15:28:33.224 INFO [main] org.maxkey.MaxKeyApplication:651 - The following 1 profile is active: "http" maxkey | 2022-07-21 15:28:36.648 INFO [main] org.springframework.cloud.context.scope.GenericScope:283 - BeanFactory id=74b62cb5-36cf-3623-822a-9577ab370051 maxkey | 2022-07-21 15:28:37.257 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:78 - Basename classpath:messages/message maxkey | 2022-07-21 15:28:37.444 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:244 - WebServerFactoryCustomizer ... maxkey | 2022-07-21 15:28:37.702 INFO [main] org.springframework.boot.web.embedded.tomcat.TomcatWebServer:108 - Tomcat initialized with port(s): 9527 (http) maxkey | Jul 21, 2022 3:28:37 PM org.apache.coyote.AbstractProtocol init maxkey | INFO: Initializing ProtocolHandler ["http-nio-9527"] maxkey | Jul 21, 2022 3:28:37 PM org.apache.catalina.core.StandardService startInternal maxkey | INFO: Starting service [Tomcat] maxkey | Jul 21, 2022 3:28:37 PM org.apache.catalina.core.StandardEngine startInternal maxkey | INFO: Starting Servlet engine: [Apache Tomcat/9.0.63] maxkey | Jul 21, 2022 3:28:37 PM org.apache.catalina.core.ApplicationContext log maxkey | INFO: Initializing Spring embedded WebApplicationContext maxkey | 2022-07-21 15:28:37.980 INFO [main] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext:290 - Root WebApplicationContext: initialization completed in 4728 ms maxkey | 2022-07-21 15:28:38.045 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:280 - delegatingFilterProxy init for /* maxkey | 2022-07-21 15:28:38.047 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:293 - webXssRequestFilter init for /* maxkey | 2022-07-21 15:28:38.057 INFO [main] com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource maxkey | 2022-07-21 15:28:38.341 INFO [main] com.alibaba.druid.pool.DruidDataSource:995 - {dataSource-1} inited maxkey | 2022-07-21 15:28:38.505 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:305 - WebInstRequestFilter init for /* maxkey | 2022-07-21 15:28:38.517 DEBUG [main] org.maxkey.autoconfigure.Oauth20AutoConfiguration:76 - TokenEndpointAuthenticationFilter init maxkey | 2022-07-21 15:28:38.818 DEBUG [main] org.maxkey.autoconfigure.MvcAutoConfiguration:258 - securityContextHolderAwareRequestFilter init maxkey | 2022-07-21 15:28:38.853 DEBUG [main] org.maxkey.authn.web.HttpSessionListenerAdapter:38 - SessionListenerAdapter inited . maxkey | 2022-07-21 15:28:38.925 DEBUG [main] org.maxkey.web.WebXssRequestFilter:242 - Filter 'webXssRequestFilter' configured for use maxkey | 2022-07-21 15:28:38.926 DEBUG [main] org.maxkey.web.WebInstRequestFilter:242 - Filter 'webInstRequestFilter' configured for use maxkey | 2022-07-21 15:28:39.024 DEBUG [main] org.maxkey.autoconfigure.RedisAutoConfiguration:63 - redisConnFactory init . maxkey | 2022-07-21 15:28:39.055 DEBUG [main] org.maxkey.autoconfigure.AuthenticationAutoConfiguration:205 - session timeout 1800 maxkey | 2022-07-21 15:28:39.061 DEBUG [main] org.maxkey.authn.session.SessionManagerFactory:76 - InMemorySessionManager maxkey | 2022-07-21 15:28:39.087 DEBUG [main] org.maxkey.autoconfigure.ApplicationAutoConfiguration:121 - bcrypt is default encoder maxkey | RocketMQLog:WARN No appenders could be found for logger (io.netty.util.internal.InternalThreadLocalMap). maxkey | RocketMQLog:WARN Please initialize the logger system properly. maxkey | 2022-07-21 15:28:40.473 DEBUG [main] org.maxkey.autoconfigure.AuthenticationAutoConfiguration:178 - OneTimePasswordService InMemory inited. maxkey | 2022-07-21 15:28:40.495 DEBUG [main] org.maxkey.autoconfigure.AuthenticationAutoConfiguration:95 - init authentication Provider . maxkey | 2022-07-21 15:28:40.497 DEBUG [main] org.maxkey.autoconfigure.AuthenticationAutoConfiguration:111 - init Mobile authentication Provider . maxkey | 2022-07-21 15:28:40.499 DEBUG [main] org.maxkey.autoconfigure.AuthenticationAutoConfiguration:126 - init Mobile authentication Provider . maxkey | 2022-07-21 15:28:44.696 ERROR [Druid-ConnectionPool-Create-1634001207] com.alibaba.druid.pool.DruidDataSource:2842 - create connection SQLException, url: jdbc:mysql://10.0.8.33:3306/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC, errorCode 0, state 08001 maxkey | java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:898) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1667) ~[druid-1.2.10.jar:1.2.10] maxkey | at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1733) ~[druid-1.2.10.jar:1.2.10] maxkey | at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2840) ~[druid-1.2.10.jar:1.2.10] maxkey | Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure maxkey | maxkey | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. maxkey | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_292] maxkey | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_292] maxkey | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_292] maxkey | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_292] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:581) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:536) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:423) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1431) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:842) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | ... 7 more maxkey | Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. maxkey | at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:575) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:536) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:423) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1431) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:842) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | ... 7 more maxkey | 2022-07-21 15:28:48.707 ERROR [Druid-ConnectionPool-Create-1634001207] com.alibaba.druid.pool.DruidDataSource:2842 - create connection SQLException, url: jdbc:mysql://10.0.8.33:3306/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC, errorCode 0, state 08001 maxkey | java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:898) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1667) ~[druid-1.2.10.jar:1.2.10] maxkey | at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1733) ~[druid-1.2.10.jar:1.2.10] maxkey | at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2840) ~[druid-1.2.10.jar:1.2.10] maxkey | Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure maxkey | maxkey | The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. maxkey | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_292] maxkey | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_292] maxkey | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_292] maxkey | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_292] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:581) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:536) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:423) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1431) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:842) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | ... 7 more maxkey | Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. maxkey | at com.mysql.cj.protocol.FullReadInputStream.readFully(FullReadInputStream.java:67) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeaderLocal(SimplePacketReader.java:81) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:63) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.SimplePacketReader.readHeader(SimplePacketReader.java:45) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readMessage(NativeProtocol.java:575) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.readServerCapabilities(NativeProtocol.java:536) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.beforeHandshake(NativeProtocol.java:423) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1431) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:842) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | ... 7 more maxkey | 2022-07-21 15:28:48.709 INFO [Druid-ConnectionPool-Create-1634001207] com.alibaba.druid.pool.DruidAbstractDataSource:1814 - {dataSource-1} failContinuous is true maxkey | 2022-07-21 15:28:49.445 INFO [Druid-ConnectionPool-Create-1634001207] com.alibaba.druid.pool.DruidAbstractDataSource:1819 - {dataSource-1} failContinuous is false maxkey | 2022-07-21 15:28:49.563 WARN [main] org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loginEntryPoint': Unsatisfied dependency expressed through field 'socialSignOnProviderService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'socialSignOnProviderService' defined in class path resource [org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService]: Factory method 'socialSignOnProviderService' threw exception; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from mxk_socials_provider where instid = ? and status = 1 order by sortindex]; nested exception is java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | 2022-07-21 15:28:49.607 INFO [main] com.alibaba.druid.pool.DruidDataSource:2073 - {dataSource-1} closing ... maxkey | 2022-07-21 15:28:49.624 INFO [main] com.alibaba.druid.pool.DruidDataSource:2146 - {dataSource-1} closed maxkey | Jul 21, 2022 3:28:49 PM org.apache.catalina.core.StandardService stopInternal maxkey | INFO: Stopping service [Tomcat] maxkey | 2022-07-21 15:28:49.650 INFO [main] org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener:136 - maxkey | maxkey | Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. maxkey | 2022-07-21 15:28:49.673 ERROR [main] org.springframework.boot.SpringApplication:835 - Application run failed maxkey | org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loginEntryPoint': Unsatisfied dependency expressed through field 'socialSignOnProviderService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'socialSignOnProviderService' defined in class path resource [org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService]: Factory method 'socialSignOnProviderService' threw exception; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from mxk_socials_provider where instid = ? and status = 1 order by sortindex]; nested exception is java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.21.jar:5.3.21] maxkey | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.21.jar:5.3.21] maxkey | at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.9.jar:2.6.9] maxkey | at org.maxkey.MaxKeyApplication.main(MaxKeyApplication.java:50) ~[classes/:?] maxkey | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'socialSignOnProviderService' defined in class path resource [org/maxkey/autoconfigure/SocialSignOnAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService]: Factory method 'socialSignOnProviderService' threw exception; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from mxk_socials_provider where instid = ? and status = 1 order by sortindex]; nested exception is java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | ... 20 more maxkey | Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService]: Factory method 'socialSignOnProviderService' threw exception; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from mxk_socials_provider where instid = ? and status = 1 order by sortindex]; nested exception is java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | ... 20 more maxkey | Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from mxk_socials_provider where instid = ? and status = 1 order by sortindex]; nested exception is java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1541) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:667) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:744) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:815) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService.loadSocials(SocialSignOnProviderService.java:184) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration.socialSignOnProviderService(SocialSignOnAutoConfiguration.java:46) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654.CGLIB$socialSignOnProviderService$1(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654$$FastClassBySpringCGLIB$$81c084bd.invoke(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.21.jar:5.3.21] maxkey | at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.21.jar:5.3.21] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654.socialSignOnProviderService(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_292] maxkey | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_292] maxkey | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_292] maxkey | at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292] maxkey | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | ... 20 more maxkey | Caused by: java.sql.SQLSyntaxErrorException: Table 'maxkey.mxk_socials_provider' doesn't exist maxkey | at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:972) ~[mysql-connector-java-8.0.29.jar:8.0.29] maxkey | at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227) ~[druid-1.2.10.jar:1.2.10] maxkey | at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:722) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:651) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:744) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:757) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:815) ~[spring-jdbc-5.3.21.jar:5.3.21] maxkey | at org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService.loadSocials(SocialSignOnProviderService.java:184) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration.socialSignOnProviderService(SocialSignOnAutoConfiguration.java:46) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654.CGLIB$socialSignOnProviderService$1(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654$$FastClassBySpringCGLIB$$81c084bd.invoke(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.21.jar:5.3.21] maxkey | at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.21.jar:5.3.21] maxkey | at org.maxkey.autoconfigure.SocialSignOnAutoConfiguration$$EnhancerBySpringCGLIB$$13489654.socialSignOnProviderService(<generated>) ~[maxkey-authentication-social-3.5.2.jar:3.5.2] maxkey | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_292] maxkey | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_292] maxkey | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_292] maxkey | at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_292] maxkey | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.21.jar:5.3.21] maxkey | ... 20 more maxkey | 2022-07-21 15:34:46.569 INFO [main] org.maxkey.MaxKeyApplication:46 - Start MaxKeyApplication ... maxkey | 2022-07-21 15:34:47.646 INFO [main] org.springframework.boot.SpringApplication:62 - maxkey | __ ___ __ __ maxkey | / |/ /__ ___ __ / //_/__ __ __ maxkey | / /|_/ / _ /\ \ // ,< / -) // /
maxkey | /
/ //_,//_//||_/_, /
maxkey | /___/
maxkey | :: MaxKey :: (v3.5.2 GA)

管理端登录时提示登录会话失效

正常浏览器登录,点击登录后又跳转到登录界面,浏览器地址端多了一串sessionId
image

日志:

2021-03-18 14:26:46,605 DEBUG [http-nio-9521-exec-10] org.maxkey.authn.AbstractAuthenticationProvider:165 - login session valid error.
2021-03-18 14:26:46,605 DEBUG [http-nio-9521-exec-10] org.maxkey.authn.AbstractAuthenticationProvider:166 - login session sessionId 556253B0A95C661F4F6930CCEE7D6E99
2021-03-18 14:26:46,605 DEBUG [http-nio-9521-exec-10] org.maxkey.authn.AbstractAuthenticationProvider:167 - login getSession sessionId 59F5463B45799A62B0D85DC19049570C
2021-03-18 14:26:46,605 ERROR [http-nio-9521-exec-10] org.maxkey.authn.AbstractAuthenticationProvider:111 - Failed to authenticate user admin via RealmAuthenticationProvider: 登录会话失效,请重新登陆.

切换为无痕模式登录正常

报表排序问题

而且如果直接通过客户端本身访问应用,拦截之后,app日志的appname为空。这个地方统计的时候ftl会空指针报错

网友 334131585

适配器修改无效

捕获
这两个设置无效,查看后端sql发现都是将二者置空

2021-04-28 09:25:52,875 DEBUG [http-nio-9527-exec-1] org.maxkey.persistence.mapper.AppsMapper.updateApp:137 - ==> Preparing: update mxk_apps set name = ?, loginurl = ?, protocol = ?, category = ?, secret = ?, description = ?, vendor = ?, vendorurl = ?, credential = ?, sharedusername = ?, sharedpassword = ?, systemuserattr = ?, userpropertys = ?, issignature = ?, isadapter = ?, adapter = ?, principal = ?, credentials = ?, visible = ?, sortindex = ?, modifiedby = ?, modifieddate = ?, status = ?, logouturl = ?, logouttype = ? where ID = ?
2021-04-28 09:25:52,877 DEBUG [http-nio-9527-exec-1] org.maxkey.persistence.mapper.AppsMapper.updateApp:137 - ==> Parameters: OAuth v2.0_Demo(String), http://oauth.demo.maxkey.top:9521/demo-oauth/(String), OAuth_v2.0(String), HR(String), 4e1d7eb7b14ad658e8d9066c95902c852ff6494512a742a8392d1d16adc5af551e698f87c64032dc548d6ec7dc3c4863(String), (String), MaxKey(String), https://github.com/shimingxy/MaxKey(String), 0(Integer), null, null, null, null, 0(Integer), 0(Integer), (String), null, null, 1(Integer), 300(Integer), null, null, 0(Integer), (String), 0(Integer), b32834accb544ea7a9a09dcae4a36403(String)
ps:适配器的作用是什么?禁用的情况下好像也能用?

所有的单点登录都需要经过内置的登陆页吗?

我现在使用oauth2.0协议,不管用哪种模式,都会跳转登陆页。导致用postman的方式请求token成为不可能,我看了后端代码,你们所有的认证返回都是ModelAndView,居然没有api的形式吗?这样符合oauth2.0协议规范吗?还有,oauth2.0的client credentials模式好像也没有,如图:
捕获
其中的token是什么?id_token是给oidc用的吗?真的很不解,求解答!

Tomcat 启动错误,原因maxkeyserver.keystore 未找到

2020-09-01 09:59:31,036 INFO  [main] org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener:136 - 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-09-01 09:59:31,043 ERROR [main] org.springframework.boot.SpringApplication:837 - Application run failed
org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:185) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:53) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:360) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:158) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:122) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:895) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.maxkey.MaxKeyApplication.main(MaxKeyApplication.java:47) [main/:?]
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	... 14 more
Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:231) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	... 14 more
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1067) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	... 14 more
Caused by: java.lang.IllegalArgumentException: /Users/teemo/Projects/KW-Company/MaxKey/maxkeyserver.keystore (No such file or directory)
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:99) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:216) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1064) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	... 14 more
Caused by: java.io.FileNotFoundException: /Users/teemo/Projects/KW-Company/MaxKey/maxkeyserver.keystore (No such file or directory)
	at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_192]
	at java.io.FileInputStream.open(FileInputStream.java:195) ~[?:1.8.0_192]
	at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[?:1.8.0_192]
	at java.io.FileInputStream.<init>(FileInputStream.java:93) ~[?:1.8.0_192]
	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90) ~[?:1.8.0_192]
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188) ~[?:1.8.0_192]
	at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:121) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:197) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:207) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:282) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:246) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:97) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:216) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1064) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.3.2.RELEASE.jar:2.3.2.RELEASE]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:182) ~[spring-context-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	... 14 more
Disconnected from the target VM, address: '127.0.0.1:62191', transport: 'socket'

Process finished with exit code 1

org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server

试过改绑端口,但是没用。求解决办法。

oauth2 协议下的单点退出

版本

v2.8.2 GA

问题

目前使用 oauth 2.0 协议进行单点登录,然后单点退出该这么做?看你的文档,退出接口返回的是 ModelAndView?我有点困惑了

密码未加密 ? 无法登录

2020-09-01 17:16:20,903 INFO  [https-jsse-nio-443-exec-4] org.maxkey.authn.realm.jdbc.DefaultJdbcAuthenticationRealm:56 - password : admin@admin
2020-09-01 17:16:20,906 ERROR [https-jsse-nio-443-exec-4] org.maxkey.authn.AbstractAuthenticationProvider:92 - Login error Unexpected exception in RealmAuthenticationProvider authentication:
java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"
	at org.springframework.security.crypto.password.DelegatingPasswordEncoder$UnmappedIdPasswordEncoder.matches(DelegatingPasswordEncoder.java:250) ~[spring-security-core-5.3.2.RELEASE.jar:5.3.2.RELEASE]
	at org.springframework.security.crypto.password.DelegatingPasswordEncoder.matches(DelegatingPasswordEncoder.java:198) ~[spring-security-core-5.3.2.RELEASE.jar:5.3.2.RELEASE]
	at org.maxkey.authn.realm.jdbc.DefaultJdbcAuthenticationRealm.passwordMatches(DefaultJdbcAuthenticationRealm.java:58) ~[main/:?]
	at org.maxkey.authn.RealmAuthenticationProvider.doInternalAuthenticate(RealmAuthenticationProvider.java:73) ~[main/:?]
	at org.maxkey.authn.AbstractAuthenticationProvider.authenticate(AbstractAuthenticationProvider.java:83) [main/:?]
	at org.maxkey.web.endpoint.LoginEndpoint.logon(LoginEndpoint.java:182) [main/:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_192]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_192]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_192]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_192]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.8.RELEASE.jar:5.2.8.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_192]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_192]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.36.jar:9.0.36]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_192]
2020-09-01 17:16:20,940 DEBUG [https-jsse-nio-443-exec-3] org.maxkey.web.endpoint.LoginEndpoint:114 - LoginController /login.
2020-09-01 17:16:20,941 DEBUG [https-jsse-nio-443-exec-3] org.maxkey.authn.support.kerberos.RemoteKerberosService:81 - [{redirectUri=http://sso.maxkey.top/kerberos/authn/, userDomain=MAXKEY}]
2020-09-01 17:16:20,941 DEBUG [https-jsse-nio-443-exec-3] org.maxkey.authn.support.kerberos.RemoteKerberosService:83 - userDomain Url Json [{"redirectUri":"http://sso.maxkey.top/kerberos/authn/","userDomain":"MAXKEY"}]
2020-09-01 17:16:20,942 DEBUG [https-jsse-nio-443-exec-3] org.maxkey.web.endpoint.LoginEndpoint:163 - Load Social Sign On Providers 

There is no PasswordEncoder mapped for the id "null"
输入 admin/admin 无法登录, 问题好像出在这里...

登录问题

Describe the bug
登录时由于session不一致导致无法登录

registered

觉得MaxKey产品还不错?请留言登记,登记信息仅用于推广本产品~

cas协议

您好 cas 认证成功 返回ticket和service,验证service、ticket的接口serviceValidate这个接口,返回的是maxkey的index.html,是被什么方法拦截吗,并没有走到serviceValidate这个方法

maxkey-web-manage 项目配置文件的验证码启用不启用配置未生效

Describe the bug

maxkey-web-manage 项目配置文件的验证码启用不启用配置未生效

To Reproduce
Steps to reproduce the behavior:

  1. Edit maxkey-web-manage/src/main/resources/maxkey.properties, set config.login.captcha=false,
  2. 运行项目 maxkey-web-manage,
  3. 访问 http://localhost:9521/maxkey-mgt/login
  4. 验证码依然存在。

Expected behavior
配置了不启用验证码,验证码不应该出现。

Screenshots

image

Add jwt token_format support for tokenEndpoint

Can add jwt token_format support for tokenEndpoint ?
just like the uaa project https://github.com/cloudfoundry/uaa.git
api docs https://docs.cloudfoundry.org/api/uaa/version/76.1.0/index.html#authorization-code-grant-2

Parameter token_format:
token_format | String | Optional | Can be set to opaque to retrieve an opaque and revocable token or to jwt to retrieve a JWT token. If not set the zone setting config.tokenPolicy.jwtRevocable is used.

So that the jwt access_token can valid itself and retrieve userinfo without request to authorization server userinfo endpoint until it expired.

如何在linux安装部署

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

多数据源支持报错

问题描述:
目前查询,修改,删除均无问题,问题出现在所有模块分页查询且只有数据量超过一页时调用mybatis-jpa-extra-2.1.jar中的SqlProviderQuery类中的queryPageResultsCount方法时,
PageResultsSqlCache pageResultsSqlCache = (PageResultsSqlCache)JpaBaseService.pageResultsBoundSqlCache.get(entity.getPageResultSelectUUID());
源此时,pageResultsSqlCache为空,导致代码String selectSql = pageResultsSqlCache.getSql();出现空指针异常。异常如下

严重: Servlet.service() for servlet [dispatcherServlet] in context with path [/maxkey-mgt] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method 'public java.lang.String org.apache.mybatis.jpa.persistence.MapperSqlProvider.queryPageResultsCount(org.apache.mybatis.jpa.persistence.JpaBaseDomain)' with specify parameter 'class org.maxkey.domain.Organizations'. Cause: java.lang.NullPointerException] with root cause
java.lang.NullPointerException
at org.apache.mybatis.jpa.persistence.provider.SqlProviderQuery.queryPageResultsCount(SqlProviderQuery.java:72)
at org.apache.mybatis.jpa.persistence.MapperSqlProvider.queryPageResultsCount(MapperSqlProvider.java:62)
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.ibatis.builder.annotation.ProviderSqlSource.invokeProviderMethod(ProviderSqlSource.java:234)
at org.apache.ibatis.builder.annotation.ProviderSqlSource.createSqlSource(ProviderSqlSource.java:177)
at org.apache.ibatis.builder.annotation.ProviderSqlSource.getBoundSql(ProviderSqlSource.java:156)
at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:305)
at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:87)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:76)
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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426)
at com.sun.proxy.$Proxy96.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:159)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:87)
at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
at com.sun.proxy.$Proxy97.queryPageResultsCount(Unknown Source)
at org.apache.mybatis.jpa.persistence.JpaBaseService.queryPageResults(JpaBaseService.java:124)
at org.maxkey.web.contorller.OrganizationsController.pageResults(OrganizationsController.java:91)
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.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

网友 334131585

新添加的账号不能登录

内置账号,显示查询LDAP

2022-04-11 10:08:00.548 DEBUG [https-jsse-nio-443-exec-7] org.maxkey.authn.realm.ldap.LdapAuthenticationRealm:68 - Attempting to authenticate xxxx at org.maxkey.authn.realm.ldap.ActiveDirectoryServer@687260fc
2022-04-11 10:08:00.549 DEBUG [https-jsse-nio-443-exec-7] org.maxkey.persistence.ldap.ActiveDirectoryUtils:71 - PROVIDER_URL ldap://192.168.0.106:389
2022-04-11 10:08:00.549 DEBUG [https-jsse-nio-443-exec-7] org.maxkey.persistence.ldap.ActiveDirectoryUtils:72 - SECURITY_PRINCIPAL xxxxx
2022-04-11 10:08:00.549 INFO [https-jsse-nio-443-exec-7] org.maxkey.persistence.ldap.ActiveDirectoryUtils:90 - PROVIDER_DOMAIN:MAXKEY for MAXKEY.TOP
2022-04-11 10:08:00.549 DEBUG [https-jsse-nio-443-exec-7] org.maxkey.persistence.ldap.ActiveDirectoryUtils:92 - Active Directory SECURITY_PRINCIPAL : MAXKEY\xxxx

docker环境添加一个应用出现异常

点击提交后出现如下异常
版本:v2.8.1GA 最新版
jdk:openjdk 17

SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/maxkey-mgt] threw exception [Handler dispatch failed; nested exception is java.lang.IllegalAccessError: class org.maxkey.crypto.ReciprocalUtils (in unnamed module @0x7e785d24) cannot access class com.sun.crypto.provider.SunJCE (in module java.base) because module java.base does not export com.sun.crypto.provider to unnamed module @0x7e785d24] with root cause
java.lang.IllegalAccessError: class org.maxkey.crypto.ReciprocalUtils (in unnamed module @0x7e785d24) cannot access class com.sun.crypto.provider.SunJCE (in module java.base) because module java.base does not export com.sun.crypto.provider to unnamed module @0x7e785d24
at org.maxkey.crypto.ReciprocalUtils.generatorDefaultKey(ReciprocalUtils.java:158)
at org.maxkey.crypto.ReciprocalUtils.encodeByDefaultKey(ReciprocalUtils.java:122)
at org.maxkey.crypto.ReciprocalUtils.encode2HexByDefaultKey(ReciprocalUtils.java:128)
at org.maxkey.crypto.ReciprocalUtils.encode(ReciprocalUtils.java:258)
at org.maxkey.crypto.password.PasswordReciprocal.encode(PasswordReciprocal.java:54)
at org.maxkey.web.apps.contorller.BaseAppContorller.encodeSecret(BaseAppContorller.java:116)
at org.maxkey.web.apps.contorller.BaseAppContorller.transform(BaseAppContorller.java:62)
at org.maxkey.web.apps.contorller.OAuth20DetailsController.insert(OAuth20DetailsController.java:70)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.maxkey.web.WebXssRequestFilter.doFilter(WebXssRequestFilter.java:78)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)

jib构建docker镜像时报错

A problem was found with the configuration of task ':maxkey-web-maxkey:jibBuildTar' (type 'BuildTarTask').

  • Type 'BuildTarTask' property 'jib.container.expandClasspathDependencies' of type boolean shouldn't be annotated with @optional.

这是jib的bug导致的,已经被官方解决了,升级到2.7.1+就解决了
GoogleContainerTools/jib#2930

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.