gitextract_9_3w74ca/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ └── maven.yml ├── .gitignore ├── LICENSE ├── README.md ├── maven-version-rules.xml ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── revengemission/ │ │ └── sso/ │ │ └── oauth2/ │ │ └── server/ │ │ ├── ApplicationStartedEventListener.java │ │ ├── Oauth2ServerApplication.java │ │ ├── ServerExceptionHandler.java │ │ ├── WebRequestLogAspect.java │ │ ├── config/ │ │ │ ├── AuthorizationServerConfig.java │ │ │ ├── CachesEnum.java │ │ │ ├── CaffeineCacheConfiguration.java │ │ │ ├── CustomAccessDeniedHandler.java │ │ │ ├── CustomAuthenticationFailureHandler.java │ │ │ ├── CustomAuthenticationProvider.java │ │ │ ├── CustomAuthenticationSuccessHandler.java │ │ │ ├── CustomCorsConfiguration.java │ │ │ ├── CustomWebAuthenticationDetails.java │ │ │ ├── DefaultSecurityConfig.java │ │ │ ├── DeviceClientAuthenticationConverter.java │ │ │ ├── DeviceClientAuthenticationProvider.java │ │ │ ├── DeviceClientAuthenticationToken.java │ │ │ ├── FederatedIdentityAuthenticationSuccessHandler.java │ │ │ ├── JdbcClientRegistrationRepository.java │ │ │ ├── SmsCodeTokenGranter.java │ │ │ ├── TokenCustomizerConfig.java │ │ │ └── WeChatMiniProgramTokenGranter.java │ │ ├── controller/ │ │ │ ├── AccessConfirmationController.java │ │ │ ├── CaptchaController.java │ │ │ ├── ManageClientController.java │ │ │ ├── ManageUserController.java │ │ │ ├── ProfileController.java │ │ │ └── SignInAndUpController.java │ │ ├── domain/ │ │ │ ├── AlreadyExistsException.java │ │ │ ├── AlreadyExpiredException.java │ │ │ ├── BaseDomain.java │ │ │ ├── EntityNotFoundException.java │ │ │ ├── GenderEnum.java │ │ │ ├── GlobalConstant.java │ │ │ ├── JsonObjects.java │ │ │ ├── LoginHistory.java │ │ │ ├── NotImplementException.java │ │ │ ├── OAuth2Exception.java │ │ │ ├── OauthClient.java │ │ │ ├── ParameterException.java │ │ │ ├── ResponseResult.java │ │ │ ├── Role.java │ │ │ ├── RoleEnum.java │ │ │ ├── ScopeDefinition.java │ │ │ ├── UserAccount.java │ │ │ ├── UserInfo.java │ │ │ └── VerificationCodeException.java │ │ ├── jose/ │ │ │ ├── Jwks.java │ │ │ └── KeyGeneratorUtils.java │ │ ├── mapper/ │ │ │ ├── BaseMapper.java │ │ │ ├── LoginHistoryMapper.java │ │ │ ├── OauthClientMapper.java │ │ │ ├── RoleMapper.java │ │ │ ├── ScopeDefinitionMapper.java │ │ │ └── UserAccountMapper.java │ │ ├── persistence/ │ │ │ ├── entity/ │ │ │ │ ├── BaseEntity.java │ │ │ │ ├── LoginHistoryEntity.java │ │ │ │ ├── Oauth2AuthorizationConsent.java │ │ │ │ ├── OauthClientEntity.java │ │ │ │ ├── RoleEntity.java │ │ │ │ ├── ScopeDefinitionEntity.java │ │ │ │ ├── ThirdPartyAccountEntity.java │ │ │ │ └── UserAccountEntity.java │ │ │ └── repository/ │ │ │ ├── LoginHistoryRepository.java │ │ │ ├── OauthClientRepository.java │ │ │ ├── RoleRepository.java │ │ │ ├── ScopeDefinitionRepository.java │ │ │ ├── ThirdPartyAccountRepository.java │ │ │ └── UserAccountRepository.java │ │ ├── schedule/ │ │ │ └── Task.java │ │ ├── service/ │ │ │ ├── CaptchaService.java │ │ │ ├── CommonServiceInterface.java │ │ │ ├── LoginHistoryService.java │ │ │ ├── OauthClientService.java │ │ │ ├── RoleService.java │ │ │ ├── ScopeDefinitionService.java │ │ │ ├── UserAccountService.java │ │ │ └── impl/ │ │ │ ├── CaptchaServiceImpl.java │ │ │ ├── ClientDetailsServiceImpl.java │ │ │ ├── LoginHistoryServiceImpl.java │ │ │ ├── OauthClientServiceImpl.java │ │ │ ├── OidcUserInfoService.java │ │ │ ├── RegisteredClientRepositoryImpl.java │ │ │ ├── RoleServiceImpl.java │ │ │ ├── ScopeDefinitionServiceImpl.java │ │ │ ├── UserAccountServiceImpl.java │ │ │ └── UserDetailsServiceImpl.java │ │ └── utils/ │ │ ├── BigIntegerUtils.java │ │ ├── CheckPasswordStrength.java │ │ ├── ClientIpUtil.java │ │ ├── DateUtil.java │ │ └── JsonUtil.java │ └── resources/ │ ├── application.properties │ ├── db/ │ │ └── changelog/ │ │ ├── db.changelog-master.xml │ │ ├── login_history_entity_create.xml │ │ ├── oauth2_authorization_consent_create.xml │ │ ├── oauth2_authorization_create.xml │ │ ├── oauth_client_entity_create.xml │ │ ├── oauth_client_entity_init.xml │ │ ├── role_entity_create.xml │ │ ├── role_entity_init.xml │ │ ├── scope_definition_entity_create.xml │ │ ├── scope_definition_entity_init.xml │ │ ├── third_pargy_entity_create.xml │ │ ├── third_party_role_entity_create.xml │ │ ├── user_account_entity_create.xml │ │ ├── user_account_entity_init.xml │ │ ├── user_account_role_entity_create.xml │ │ └── user_account_role_entity_init.xml │ ├── messages.properties │ ├── static/ │ │ └── assets/ │ │ ├── bootstrap/ │ │ │ ├── css/ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-grid.rtl.css │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ │ ├── bootstrap-utilities.css │ │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ │ ├── bootstrap.css │ │ │ │ └── bootstrap.rtl.css │ │ │ └── js/ │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.esm.js │ │ │ └── bootstrap.js │ │ ├── bootstrap-icons/ │ │ │ ├── bootstrap-icons.css │ │ │ ├── bootstrap-icons.json │ │ │ └── bootstrap-icons.scss │ │ ├── bootstrap-table/ │ │ │ ├── bootstrap-table-locale-all.js │ │ │ ├── bootstrap-table-vue.esm.js │ │ │ ├── bootstrap-table-vue.js │ │ │ ├── bootstrap-table-vue.umd.js │ │ │ ├── bootstrap-table.css │ │ │ ├── bootstrap-table.js │ │ │ ├── extensions/ │ │ │ │ ├── addrbar/ │ │ │ │ │ └── bootstrap-table-addrbar.js │ │ │ │ ├── auto-refresh/ │ │ │ │ │ └── bootstrap-table-auto-refresh.js │ │ │ │ ├── cookie/ │ │ │ │ │ └── bootstrap-table-cookie.js │ │ │ │ ├── copy-rows/ │ │ │ │ │ └── bootstrap-table-copy-rows.js │ │ │ │ ├── custom-view/ │ │ │ │ │ └── bootstrap-table-custom-view.js │ │ │ │ ├── defer-url/ │ │ │ │ │ └── bootstrap-table-defer-url.js │ │ │ │ ├── editable/ │ │ │ │ │ └── bootstrap-table-editable.js │ │ │ │ ├── export/ │ │ │ │ │ └── bootstrap-table-export.js │ │ │ │ ├── filter-control/ │ │ │ │ │ ├── bootstrap-table-filter-control.css │ │ │ │ │ ├── bootstrap-table-filter-control.js │ │ │ │ │ └── utils.js │ │ │ │ ├── fixed-columns/ │ │ │ │ │ ├── bootstrap-table-fixed-columns.css │ │ │ │ │ └── bootstrap-table-fixed-columns.js │ │ │ │ ├── group-by-v2/ │ │ │ │ │ ├── bootstrap-table-group-by.css │ │ │ │ │ └── bootstrap-table-group-by.js │ │ │ │ ├── i18n-enhance/ │ │ │ │ │ └── bootstrap-table-i18n-enhance.js │ │ │ │ ├── key-events/ │ │ │ │ │ └── bootstrap-table-key-events.js │ │ │ │ ├── mobile/ │ │ │ │ │ └── bootstrap-table-mobile.js │ │ │ │ ├── multiple-sort/ │ │ │ │ │ └── bootstrap-table-multiple-sort.js │ │ │ │ ├── page-jump-to/ │ │ │ │ │ ├── bootstrap-table-page-jump-to.css │ │ │ │ │ └── bootstrap-table-page-jump-to.js │ │ │ │ ├── pipeline/ │ │ │ │ │ └── bootstrap-table-pipeline.js │ │ │ │ ├── print/ │ │ │ │ │ └── bootstrap-table-print.js │ │ │ │ ├── reorder-columns/ │ │ │ │ │ └── bootstrap-table-reorder-columns.js │ │ │ │ ├── reorder-rows/ │ │ │ │ │ ├── bootstrap-table-reorder-rows.css │ │ │ │ │ └── bootstrap-table-reorder-rows.js │ │ │ │ ├── resizable/ │ │ │ │ │ └── bootstrap-table-resizable.js │ │ │ │ ├── sticky-header/ │ │ │ │ │ ├── bootstrap-table-sticky-header.css │ │ │ │ │ └── bootstrap-table-sticky-header.js │ │ │ │ ├── toolbar/ │ │ │ │ │ └── bootstrap-table-toolbar.js │ │ │ │ └── treegrid/ │ │ │ │ └── bootstrap-table-treegrid.js │ │ │ ├── locale/ │ │ │ │ ├── bootstrap-table-af-ZA.js │ │ │ │ ├── bootstrap-table-ar-SA.js │ │ │ │ ├── bootstrap-table-bg-BG.js │ │ │ │ ├── bootstrap-table-ca-ES.js │ │ │ │ ├── bootstrap-table-cs-CZ.js │ │ │ │ ├── bootstrap-table-da-DK.js │ │ │ │ ├── bootstrap-table-de-DE.js │ │ │ │ ├── bootstrap-table-el-GR.js │ │ │ │ ├── bootstrap-table-en-US.js │ │ │ │ ├── bootstrap-table-es-AR.js │ │ │ │ ├── bootstrap-table-es-CL.js │ │ │ │ ├── bootstrap-table-es-CR.js │ │ │ │ ├── bootstrap-table-es-ES.js │ │ │ │ ├── bootstrap-table-es-MX.js │ │ │ │ ├── bootstrap-table-es-NI.js │ │ │ │ ├── bootstrap-table-es-SP.js │ │ │ │ ├── bootstrap-table-et-EE.js │ │ │ │ ├── bootstrap-table-eu-EU.js │ │ │ │ ├── bootstrap-table-fa-IR.js │ │ │ │ ├── bootstrap-table-fi-FI.js │ │ │ │ ├── bootstrap-table-fr-BE.js │ │ │ │ ├── bootstrap-table-fr-CH.js │ │ │ │ ├── bootstrap-table-fr-FR.js │ │ │ │ ├── bootstrap-table-fr-LU.js │ │ │ │ ├── bootstrap-table-he-IL.js │ │ │ │ ├── bootstrap-table-hi-IN.js │ │ │ │ ├── bootstrap-table-hr-HR.js │ │ │ │ ├── bootstrap-table-hu-HU.js │ │ │ │ ├── bootstrap-table-id-ID.js │ │ │ │ ├── bootstrap-table-it-IT.js │ │ │ │ ├── bootstrap-table-ja-JP.js │ │ │ │ ├── bootstrap-table-ka-GE.js │ │ │ │ ├── bootstrap-table-ko-KR.js │ │ │ │ ├── bootstrap-table-lb-LU.js │ │ │ │ ├── bootstrap-table-lt-LT.js │ │ │ │ ├── bootstrap-table-ms-MY.js │ │ │ │ ├── bootstrap-table-nb-NO.js │ │ │ │ ├── bootstrap-table-nl-BE.js │ │ │ │ ├── bootstrap-table-nl-NL.js │ │ │ │ ├── bootstrap-table-pl-PL.js │ │ │ │ ├── bootstrap-table-pt-BR.js │ │ │ │ ├── bootstrap-table-pt-PT.js │ │ │ │ ├── bootstrap-table-ro-RO.js │ │ │ │ ├── bootstrap-table-ru-RU.js │ │ │ │ ├── bootstrap-table-sk-SK.js │ │ │ │ ├── bootstrap-table-sl-SI.js │ │ │ │ ├── bootstrap-table-sr-Cyrl-RS.js │ │ │ │ ├── bootstrap-table-sr-Latn-RS.js │ │ │ │ ├── bootstrap-table-sv-SE.js │ │ │ │ ├── bootstrap-table-th-TH.js │ │ │ │ ├── bootstrap-table-tr-TR.js │ │ │ │ ├── bootstrap-table-uk-UA.js │ │ │ │ ├── bootstrap-table-ur-PK.js │ │ │ │ ├── bootstrap-table-uz-Latn-UZ.js │ │ │ │ ├── bootstrap-table-vi-VN.js │ │ │ │ ├── bootstrap-table-zh-CN.js │ │ │ │ └── bootstrap-table-zh-TW.js │ │ │ └── themes/ │ │ │ ├── bootstrap-table/ │ │ │ │ ├── bootstrap-table.css │ │ │ │ └── bootstrap-table.js │ │ │ ├── bulma/ │ │ │ │ ├── bootstrap-table-bulma.css │ │ │ │ └── bootstrap-table-bulma.js │ │ │ ├── foundation/ │ │ │ │ ├── bootstrap-table-foundation.css │ │ │ │ └── bootstrap-table-foundation.js │ │ │ ├── materialize/ │ │ │ │ ├── bootstrap-table-materialize.css │ │ │ │ └── bootstrap-table-materialize.js │ │ │ └── semantic/ │ │ │ ├── bootstrap-table-semantic.css │ │ │ └── bootstrap-table-semantic.js │ │ └── tac/ │ │ └── css/ │ │ └── tac.css │ └── templates/ │ ├── accessConfirmation.html │ ├── changePwd.html │ ├── client/ │ │ └── master.html │ ├── oauthError.html │ ├── profile.html │ ├── signIn.html │ ├── signUp.html │ └── user/ │ └── master.html └── test/ └── java/ └── com/ └── revengemission/ └── sso/ └── oauth2/ └── server/ ├── ApplicationTests.java ├── CaptchaTest.java ├── OAuth2Test.java ├── PkceUtil.java └── SimpleTest.java