123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- ############################################################################
- # Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- ############################################################################
- #spring.profiles.active=http #
- ############################################################################
- #server port
- server.port=443
- #session default 1800
- server.servlet.session.timeout=1800
- #web app context path
- server.servlet.context-path=/maxkey
- spring.servlet.multipart.enabled=true
- spring.servlet.multipart.max-file-size=4194304
- ############################################################################
- #ssl configuration #
- ############################################################################
- server.ssl.key-store=classpath:maxkeyserver.keystore
- server.ssl.key-alias=maxkey
- server.ssl.enabled=true
- server.ssl.key-store-password=maxkey
- server.ssl.key-store-type=JKS
- #encoding
- #server.servlet.encoding.charset=UTF-8
- #server.servlet.encoding.enabled=true
- #server.servlet.encoding.force=true
- ############################################################################
- #database configuration #
- ############################################################################
- #datasource
- spring.datasource.username=root
- spring.datasource.password=maxkey
- spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8&serverTimezone=UTC
- spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
- spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
- #mybatis
- mybatis.type-aliases-package=org.maxkey.domain,org.maxkey.domain.apps,
- mybatis.mapper-locations=classpath*:/org/maxkey/persistence/mapper/xml/mysql/*.xml
- mybatis.table-column-snowflake-datacenter-id=1
- mybatis.table-column-snowflake-machine-id=1
- mybatis.table-column-escape=true
- ############################################################################
- #redis server configuration #
- ############################################################################
- #spring.redis.host=127.0.0.1
- #spring.redis.port=6379
- #spring.redis.password=password
- #spring.redis.timeout=10000
- #spring.redis.jedis.pool.max-wait=1000
- #spring.redis.jedis.pool.max-idle=200
- #spring.redis.lettuce.pool.max-active=-1
- #spring.redis.lettuce.pool.min-idle=0
- ############################################################################
- #mail configuration #
- ############################################################################
- #spring.mail.default-encoding=utf-8
- #spring.mail.host=smtp.163.com
- #spring.mail.port=465
- #spring.mail.username=maxkey@163.com
- #spring.mail.password=password
- #spring.mail.protocol=smtp
- #spring.mail.properties.ssl=true
- #spring.mail.properties.sender=maxkey@163.com
- spring.mail.properties.mailotp.message.subject=MaxKey One Time PassWord
- spring.mail.properties.mailotp.message.template={0} You Token is {1} , it validity in {2} minutes.
- ############################################################################
- #freemarker configuration #
- ############################################################################
- spring.freemarker.template-loader-path=classpath:/templates/views
- spring.freemarker.cache=false
- spring.freemarker.charset=UTF-8
- spring.freemarker.check-template-location=true
- spring.freemarker.content-type=text/html
- spring.freemarker.expose-request-attributes=false
- spring.freemarker.expose-session-attributes=false
- spring.freemarker.request-context-attribute=request
- spring.freemarker.suffix=.ftl
- ############################################################################
- #static resources configuration #
- ############################################################################
- spring.mvc.static-path-pattern=/static/**
- spring.messages.basename=classpath:messages/message
- spring.messages.encoding=UTF-8
- ############################################################################
- #Main.banner-mode configuration #
- ############################################################################
- spring.main.banner-mode=log
- spring.main.allow-bean-definition-overriding=true
-
- ############################################################################
- #Spring Session for Cluster configuration #
- ############################################################################
- # Session store type.
- spring.session.store-type=none
- #spring.session.store-type=redis
- # Session timeout. If a duration suffix is not specified, seconds is used.
- #server.servlet.session.timeout=1800
- # Sessions flush mode.
- #spring.session.redis.flush-mode=on_save
- # Namespace for keys used to store sessions.
- #spring.session.redis.namespace=spring:session
- ############################################################################
- #Kafka for connectors configuration #
- ############################################################################
- spring.kafka.bootstrap-servers=localhost:9092
- ###########\u3010\u521d\u59cb\u5316\u751f\u4ea7\u8005\u914d\u7f6e\u3011###########
- # \u91cd\u8bd5\u6b21\u6570
- spring.kafka.producer.retries=0
- # \u5e94\u7b54\u7ea7\u522b:\u591a\u5c11\u4e2a\u5206\u533a\u526f\u672c\u5907\u4efd\u5b8c\u6210\u65f6\u5411\u751f\u4ea7\u8005\u53d1\u9001ack\u786e\u8ba4(\u53ef\u90090\u30011\u3001all/-1)
- spring.kafka.producer.acks=1
- # \u6279\u91cf\u5927\u5c0f
- spring.kafka.producer.batch-size=16384
- # \u63d0\u4ea4\u5ef6\u65f6
- spring.kafka.producer.properties.linger.ms=0
- # \u5f53\u751f\u4ea7\u7aef\u79ef\u7d2f\u7684\u6d88\u606f\u8fbe\u5230batch-size\u6216\u63a5\u6536\u5230\u6d88\u606flinger.ms\u540e,\u751f\u4ea7\u8005\u5c31\u4f1a\u5c06\u6d88\u606f\u63d0\u4ea4\u7ed9kafka
- # linger.ms\u4e3a0\u8868\u793a\u6bcf\u63a5\u6536\u5230\u4e00\u6761\u6d88\u606f\u5c31\u63d0\u4ea4\u7ed9kafka,\u8fd9\u65f6\u5019batch-size\u5176\u5b9e\u5c31\u6ca1\u7528\u4e86
- # \u751f\u4ea7\u7aef\u7f13\u51b2\u533a\u5927\u5c0f
- spring.kafka.producer.buffer-memory = 33554432
- # Kafka\u63d0\u4f9b\u7684\u5e8f\u5217\u5316\u548c\u53cd\u5e8f\u5217\u5316\u7c7b
- spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
- spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
- # \u81ea\u5b9a\u4e49\u5206\u533a\u5668
- # spring.kafka.producer.properties.partitioner.class=com.felix.kafka.producer.CustomizePartitioner
- ############################################################################
- #Management endpoints configuration #
- ############################################################################
- management.security.enabled=false
- #management.endpoints.jmx.exposure.include=health,info
- management.endpoints.web.exposure.include=metrics,health,info,env
- ############################################################################
- #domain name configuration #
- ############################################################################
- maxkey.server.scheme=https
- maxkey.server.basedomain=maxkey.top
- maxkey.server.domain=sso.${maxkey.server.basedomain}
- maxkey.server.name=${maxkey.server.scheme}://${maxkey.server.domain}
- maxkey.server.uri=${maxkey.server.name}/maxkey
- #default.uri
- maxkey.server.default.uri=${maxkey.server.uri}/maxkey/appList
- maxkey.server.management.uri=${maxkey.server.name}:9521/maxkey-mgt/login
- #InMemory 0 , Redis 2
- maxkey.server.persistence=0
- #identity
- maxkey.identity.kafkasupport=false
- maxkey.app.issuer=CN=ConSec,CN=COM,CN=SH
- ############################################################################
- #Login configuration #
- ############################################################################
- #enable captcha
- maxkey.login.captcha=true
- #text or arithmetic
- maxkey.login.captcha.type=text
- #enable two factor,use one time password
- maxkey.login.mfa=true
- #TimeBasedOtpAuthn MailOtpAuthn SmsOtpAuthnYunxin SmsOtpAuthnAliyun SmsOtpAuthnTencentCloud
- maxkey.login.mfa.type=TimeBasedOtpAuthn
- #enable social sign on
- maxkey.login.socialsignon=true
- #social sign on providers
- maxkey.login.socialsignon.providers=gitee,wechatopen,sinaweibo,google,qq,dingtalk,microsoft,facebook
- #Enable kerberos/SPNEGO
- maxkey.login.kerberos=true
- #wsFederation
- maxkey.login.wsfederation=false
- #remeberme
- maxkey.login.remeberme=true
- #validity
- maxkey.login.remeberme.validity=0
- #to default application web site
- maxkey.login.default.uri=appList
- maxkey.ipaddress.whitelist=false
- maxkey.notices.visible=false
- ############################################################################
- #Kerberos Login configuration #
- #SmsOtpAuthnYunxin SmsOtpAuthnAliyun SmsOtpAuthnTencentCloud #
- ############################################################################
- #default
- maxkey.otp.sms=SmsOtpAuthnYunxin
- #aliyun
- maxkey.otp.sms.aliyun.accesskeyid=94395d754eb55693043f5d6a2b772ef4
- maxkey.otp.sms.aliyun.accesssecret=05d5485357bc
- maxkey.otp.sms.aliyun.templatecode=14860095
- maxkey.otp.sms.aliyun.signname=maxkey
- #yunxin
- maxkey.otp.sms.yunxin.appkey=94395d754eb55693043f5d6a2b772ef4
- maxkey.otp.sms.yunxin.appsecret=05d5485357bc
- maxkey.otp.sms.yunxin.templateid=14860095
- #tencentcloud
- maxkey.otp.sms.tencentcloud.secretid=94395d754eb55693043f5d6a2b772ef4
- maxkey.otp.sms.tencentcloud.secretkey=05d5485357bc
- maxkey.otp.sms.tencentcloud.smssdkappid=1486220095
- maxkey.otp.sms.tencentcloud.templateid=14860095
- maxkey.otp.sms.tencentcloud.sign=1486009522
- ############################################################################
- #Time-based One-Time Password configuration #
- ############################################################################
- maxkey.otp.keyuri.format.type=totp
- maxkey.otp.keyuri.format.digits=6
- maxkey.otp.keyuri.format.issuer=MaxKey
- maxkey.otp.keyuri.format.domain=${maxkey.server.domain}
- maxkey.otp.keyuri.format.period=30
- ############################################################################
- #Kerberos Login configuration #
- #short name of user domain must be in upper case,eg:MAXKEY #
- ############################################################################
- maxkey.support.kerberos.default.userdomain=MAXKEY
- #short name of user domain must be in upper case,eg:MAXKEY.ORG
- maxkey.support.kerberos.default.fulluserdomain=MAXKEY.ORG
- #last 8Bit crypto for Kerberos web Authentication
- maxkey.support.kerberos.default.crypto=846KZSzYq56M6d5o
- #Kerberos Authentication server RUL
- maxkey.support.kerberos.default.redirecturi=http://sso.maxkey.top/kerberos/authn/
- ############################################################################
- #HTTPHEADER Login configuration #
- ############################################################################
- maxkey.support.httpheader.enable=false
- maxkey.support.httpheader.headername=header-user
- # iv-user is for IBM Security Access Manager
- #config.httpheader.headername=iv-user
- ############################################################################
- #BASIC Login support configuration #
- ############################################################################
- maxkey.support.basic.enable=false
- ############################################################################
- #LDAP Login support configuration #
- ############################################################################
- maxkey.support.ldap.enable=false
- maxkey.support.ldap.jit=false
- #openldap,activedirectory,normal
- maxkey.support.ldap.product=openldap
- maxkey.support.ldap.ssl=false
- maxkey.support.ldap.providerurl=ldap://localhost:389
- maxkey.support.ldap.principal=cn=Manager,dc=maxcrc,dc=com
- maxkey.support.ldap.credentials=secret
- maxkey.support.ldap.basedn=dc=maxcrc,dc=com
- maxkey.support.ldap.filter=(uid=%s)
- maxkey.support.ldap.truststore=maxkey
- maxkey.support.ldap.truststorepassword=maxkey
- #activedirectory effective
- maxkey.support.ldap.activedirectory.domain=MAXKEY.ORG
- #############################################################################
- #WsFederation Login support configuration
- #identifier: the identifer for the ADFS server
- #url: the login url for ADFS
- #principal: the name of the attribute/assertion returned by ADFS that contains the principal's username.
- #relyingParty: the identifier of the CAS Server as it has been configured in ADFS.
- #tolerance: (optional) the amount of drift to allow when validating the timestamp on the token. Default: 10000 (ms)
- #attributeMutator: (optional) a class (defined by you) that can modify the attributes/assertions returned by the ADFS server
- #signingCertificate: ADFS's signing certificate used to validate the token/assertions issued by ADFS.
- ############################################################################
- maxkey.support.wsfederation.identifier=http://adfs.maxkey.top/adfs/services/trust
- maxkey.support.wsfederation.url=https://adfs.maxkey.top/adfs/ls/
- maxkey.support.wsfederation.principal=upn
- maxkey.support.wsfederation.relyingParty=urn:federation:connsec
- maxkey.support.wsfederation.signingCertificate=adfs-signing.crt
- maxkey.support.wsfederation.tolerance=10000
- maxkey.support.wsfederation.upn.suffix=maxkey.org
- maxkey.support.wsfederation.logoutUrl=https://adfs.maxkey.top/adfs/ls/?wa=wsignout1.0
- #############################################################################
- #OIDC V1.0 METADATA configuration #
- #############################################################################
- maxkey.oidc.metadata.issuer=${maxkey.server.name}/maxkey
- maxkey.oidc.metadata.authorizationEndpoint=${maxkey.server.name}/maxkey/authz/oauth/v20/authorize
- maxkey.oidc.metadata.tokenEndpoint=${maxkey.server.name}/maxkey/authz/oauth/v20/token
- maxkey.oidc.metadata.userinfoEndpoint=${maxkey.server.name}/maxkey/api/connect/userinfo
- #############################################################################
- #SAML V2.0 configuration #
- #############################################################################
- #saml common
- maxkey.saml.v20.max.parser.pool.size=2
- maxkey.saml.v20.assertion.validity.time.ins.seconds=90
- maxkey.saml.v20.replay.cache.life.in.millis=14400000
- maxkey.saml.v20.issue.instant.check.clock.skew.in.seconds=90
- maxkey.saml.v20.issue.instant.check.validity.time.in.seconds=300
- #saml idp keystore
- maxkey.saml.v20.idp.keystore.password=maxkey
- maxkey.saml.v20.idp.keystore.private.key.password=maxkey
- maxkey.saml.v20.idp.keystore=classpath\:config/samlServerKeystore.jks
- #keystore id for sec
- maxkey.saml.v20.idp.issuing.entity.id=maxkey.top
- maxkey.saml.v20.idp.issuer=https://sso.maxkey.top/maxkey/saml
- maxkey.saml.v20.idp.receiver.endpoint=https\://sso.maxkey.top/
- #saml sp keystore
- maxkey.saml.v20.sp.keystore.password=maxkey
- maxkey.saml.v20.sp.keystore.private.key.password=maxkey
- maxkey.saml.v20.sp.keystore=classpath\:config/samlClientKeystore.jks
- maxkey.saml.v20.sp.issuing.entity.id=client.maxkey.org
- #Saml v20 METADATA
- maxkey.saml.v20.metadata.orgName=MaxKeyTop
- maxkey.saml.v20.metadata.orgDisplayName=MaxKeyTop
- maxkey.saml.v20.metadata.orgURL=https://www.maxkey.top
- maxkey.saml.v20.metadata.contactType=technical
- maxkey.saml.v20.metadata.company=MaxKeyTop
- maxkey.saml.v20.metadata.givenName=maxkey
- maxkey.saml.v20.metadata.surName=maxkey
- maxkey.saml.v20.metadata.emailAddress=maxkeysupport@163.com
- maxkey.saml.v20.metadata.telephoneNumber=4008981111
- ############################################################################
- # Social Sign On Configuration #
- #you config client.id & client.secret only #
- ############################################################################
- #gitee
- maxkey.socialsignon.gitee.provider=gitee
- maxkey.socialsignon.gitee.provider.name=Gitee
- maxkey.socialsignon.gitee.icon=images/social/gitee.png
- maxkey.socialsignon.gitee.client.id=ee6fdc484b3398d17e77d6ff37fd8b9fe502106398c7b22bf5522d3c01303f45
- maxkey.socialsignon.gitee.client.secret=d6c3558f295f044df538c966a9084166f9a877c7a7392543184007a5faccdbad
- maxkey.socialsignon.gitee.account.id=id
- maxkey.socialsignon.gitee.sortorder=1
- #wechat
- maxkey.socialsignon.wechatopen.provider=wechatopen
- maxkey.socialsignon.wechatopen.provider.name=\u5fae\u4fe1
- maxkey.socialsignon.wechatopen.icon=images/social/wechat.png
- maxkey.socialsignon.wechatopen.client.id=ee6fdc484b3398d17e7
- maxkey.socialsignon.wechatopen.client.secret=7a5faccdbad
- maxkey.socialsignon.wechatopen.account.id=id
- maxkey.socialsignon.wechatopen.sortorder=2
- #sina weibo
- maxkey.socialsignon.sinaweibo.provider=sinaweibo
- maxkey.socialsignon.sinaweibo.provider.name=\u65b0\u6d6a\u5fae\u535a
- maxkey.socialsignon.sinaweibo.icon=images/social/weibo.png
- maxkey.socialsignon.sinaweibo.client.id=3379757634
- maxkey.socialsignon.sinaweibo.client.secret=1adfdf9800299037bcab9d1c238664ba
- maxkey.socialsignon.sinaweibo.account.id=id
- maxkey.socialsignon.sinaweibo.sortorder=3
- #Google
- maxkey.socialsignon.google.provider=google
- maxkey.socialsignon.google.provider.name=Google
- maxkey.socialsignon.google.icon=images/social/google.png
- maxkey.socialsignon.google.client.id=519914515488.apps.googleusercontent.com
- maxkey.socialsignon.google.client.secret=3aTW3Iw7e11QqMnHxciCaXTt
- maxkey.socialsignon.google.account.id=id
- maxkey.socialsignon.google.sortorder=4
- #dingtalk
- maxkey.socialsignon.dingtalk.provider=dingtalk
- maxkey.socialsignon.dingtalk.provider.name=dingtalk
- maxkey.socialsignon.dingtalk.icon=images/social/dingtalk.png
- maxkey.socialsignon.dingtalk.client.id=dingoawf2jyiwh2uzqnphg
- maxkey.socialsignon.dingtalk.client.secret=Crm7YJbMKfRlvG2i1SHpg4GHVpqF_oXiEjhmRQyiSiuzNRWpbFh9i0UjDTfhOoN9
- maxkey.socialsignon.dingtalk.account.id=openid
- maxkey.socialsignon.dingtalk.sortorder=5
- #QQ
- maxkey.socialsignon.qq.provider=qq
- maxkey.socialsignon.qq.provider.name=QQ
- maxkey.socialsignon.qq.icon=images/social/qq.png
- maxkey.socialsignon.qq.client.id=101225363
- maxkey.socialsignon.qq.client.secret=8577d75e0eb4a91ac549cc8be3371bfd
- maxkey.socialsignon.qq.account.id=openid
- maxkey.socialsignon.qq.sortorder=6
- #Microsoft
- maxkey.socialsignon.microsoft.provider=microsoft
- maxkey.socialsignon.microsoft.provider.name=Microsoft
- maxkey.socialsignon.microsoft.icon=images/social/microsoft.png
- maxkey.socialsignon.microsoft.client.id=24aa73b6-7928-4e64-bd64-d8682e650f95
- maxkey.socialsignon.microsoft.client.secret=PF[_AthtjVrtWVO2mNy@CJxY1@Z8FNf5
- maxkey.socialsignon.microsoft.account.id=id
- maxkey.socialsignon.microsoft.sortorder=7
- #facebook
- maxkey.socialsignon.facebook.provider=facebook
- maxkey.socialsignon.facebook.provider.name=facebook
- maxkey.socialsignon.facebook.icon=images/social/facebook.png
- maxkey.socialsignon.facebook.client.id=appKey
- maxkey.socialsignon.facebook.client.secret=appSecret
- maxkey.socialsignon.facebook.account.id=id
- maxkey.socialsignon.facebook.sortorder=8
- ############################################################################
- #springfox.documentation.swagger.v2.path=/api-docs #
- #Swagger Configure Properties #
- ############################################################################
- maxkey.swagger.enable=true
- maxkey.swagger.title=MaxKey\u5355\u70b9\u767b\u5f55\u8ba4\u8bc1\u7cfb\u7edfapi\u6587\u6863
- maxkey.swagger.description=MaxKey\u5355\u70b9\u767b\u5f55\u8ba4\u8bc1\u7cfb\u7edfapi\u6587\u6863
- maxkey.swagger.version=${application.formatted-version}
|