{"id":18073481,"url":"https://github.com/iamazy/jwt-spring-cloud-starter","last_synced_at":"2025-04-12T05:23:06.858Z","repository":{"id":36379412,"uuid":"175008511","full_name":"iamazy/jwt-spring-cloud-starter","owner":"iamazy","description":"jwt接口保护组件","archived":false,"fork":false,"pushed_at":"2023-06-14T22:29:23.000Z","size":50,"stargazers_count":4,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T00:51:08.389Z","etag":null,"topics":["jose4j","jwt","security","springboot2","springcloud","starter","token"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamazy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2019-03-11T13:41:53.000Z","updated_at":"2022-10-19T02:06:36.000Z","dependencies_parsed_at":"2022-07-29T00:38:49.631Z","dependency_job_id":null,"html_url":"https://github.com/iamazy/jwt-spring-cloud-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamazy%2Fjwt-spring-cloud-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamazy%2Fjwt-spring-cloud-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamazy%2Fjwt-spring-cloud-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamazy%2Fjwt-spring-cloud-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamazy","download_url":"https://codeload.github.com/iamazy/jwt-spring-cloud-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248520657,"owners_count":21117905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jose4j","jwt","security","springboot2","springcloud","starter","token"],"created_at":"2024-10-31T10:07:46.384Z","updated_at":"2025-04-12T05:23:06.829Z","avatar_url":"https://github.com/iamazy.png","language":"Java","readme":"jwt-spring-cloud-starter\n==========\n\n这是一个可插拔式的jwt组件，为目标接口提供鉴权功能\n\n1.使用的jwt库\n---\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003eorg.bitbucket.b_c\u003c/groupId\u003e\n    \u003cartifactId\u003ejose4j\u003c/artifactId\u003e\n    \u003cversion\u003e0.6.5\u003c/version\u003e\n\u003c/dependency\u003e\n```\n2.对外暴露接口\n----\n```java\npublic interface JwtUserMapper {\n\n    default JwtUser find(Map\u003cString,Object\u003e properties){\n        return null;\n    }\n}\n```\n接口没有默认实现，用户将本插件集成进项目中后需要实现`JwtUserMapper`接口的`find`方法,并将其声明为一个JavaBean\u003cbr/\u003e\n例如：\n```java\n@Service\npublic class DefaultJwtUserMapper implements JwtUserMapper {\n\n    private List\u003cJwtUser\u003e defaultUsers=new ArrayList\u003cJwtUser\u003e(){\n        {\n            add(new JwtUser(\"1\",\"tom\",null));\n        }\n    };\n\n    @Override\n    public JwtUser find(Map\u003cString,Object\u003e properties) {\n        if(properties.containsKey(\"uid\")) {\n            String uid=properties.get(\"uid\").toString();\n            Optional\u003cJwtUser\u003e any = defaultUsers.stream().filter(user -\u003e user.getUid().equals(uid)).findAny();\n            return any.orElse(null);\n        }\n        return null;\n    }\n}\n```\n3.Jwt默认Header名称(jwt-token)\n--------\n4.注解方式添加接口保护\n--------\n##### JwtToken(可作用于类和方法)\n添加后接口访问需要提供token\n##### TokenPassed(作用于方法)\n添加后不需要提供token就可以访问，优先级最高\n\n5.提供enable开关\n-------\n在`application.yml`文件中指定enable=true才会开启jwt鉴权功能，enable默认为false\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamazy%2Fjwt-spring-cloud-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiamazy%2Fjwt-spring-cloud-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiamazy%2Fjwt-spring-cloud-starter/lists"}