{"id":44685801,"url":"https://github.com/dustlight-cn/auth","last_synced_at":"2026-02-15T06:01:39.060Z","repository":{"id":44894997,"uuid":"264141161","full_name":"dustlight-cn/auth","owner":"dustlight-cn","description":"OAuth2.0 授权服务，用户中心，开放平台，微服务鉴权。","archived":false,"fork":false,"pushed_at":"2025-11-10T03:06:55.000Z","size":2964,"stargazers_count":97,"open_issues_count":3,"forks_count":32,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-31T00:36:55.790Z","etag":null,"topics":["authorization-server","identity-management","oauth2","quasar-framework","spring-boot","spring-security-oauth2","springsecurity","sso","stateless","vue"],"latest_commit_sha":null,"homepage":"https://accounts.dustlight.cn/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dustlight-cn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-15T08:36:53.000Z","updated_at":"2025-12-24T13:11:48.000Z","dependencies_parsed_at":"2022-07-20T07:40:12.140Z","dependency_job_id":null,"html_url":"https://github.com/dustlight-cn/auth","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/dustlight-cn/auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustlight-cn%2Fauth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustlight-cn%2Fauth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustlight-cn%2Fauth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustlight-cn%2Fauth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dustlight-cn","download_url":"https://codeload.github.com/dustlight-cn/auth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustlight-cn%2Fauth/sbom","scorecard":{"id":360390,"data":{"date":"2025-08-11","repo":{"name":"github.com/dustlight-cn/auth","commit":"b0334f6bfd6bb9bde8fac9e70b1036c8e31d3993"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/docker-image.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/17 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 1.0.6-alpha-3 not signed: https://api.github.com/repos/dustlight-cn/auth/releases/41592462","Warn: release artifact 1.0.6-alpha not signed: https://api.github.com/repos/dustlight-cn/auth/releases/40858942","Warn: release artifact 1.0.5-alpha not signed: https://api.github.com/repos/dustlight-cn/auth/releases/39858053","Warn: release artifact 1.0.6-alpha-3 does not have provenance: https://api.github.com/repos/dustlight-cn/auth/releases/41592462","Warn: release artifact 1.0.6-alpha does not have provenance: https://api.github.com/repos/dustlight-cn/auth/releases/40858942","Warn: release artifact 1.0.5-alpha does not have provenance: https://api.github.com/repos/dustlight-cn/auth/releases/39858053"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/dustlight-cn/auth/docker-image.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-image.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dustlight-cn/auth/docker-image.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-image.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/dustlight-cn/auth/docker-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/dustlight-cn/auth/docker-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker-image.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/dustlight-cn/auth/docker-image.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:19: pin your Docker image by updating registry.cn-hangzhou.aliyuncs.com/wgv/openjdk:11.0.11-jre to registry.cn-hangzhou.aliyuncs.com/wgv/openjdk:11.0.11-jre@sha256:2e9a9b2d58f827dc7a6610d8cdc532f8c6a3599bb0bf651358284df6fc12992a","Warn: containerImage not pinned by hash: auth-ui/Dockerfile:4","Warn: containerImage not pinned by hash: auth-ui/Dockerfile:24: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:c0d0d0c261e8a56ddb9d445961f404a62ddd76863c00d8091221305e7c8c0c3a","Warn: npmCommand not pinned by hash: auth-ui/Dockerfile:15-17","Warn: npmCommand not pinned by hash: auth-ui/Dockerfile:15-17","Warn: npmCommand not pinned by hash: auth-ui/Dockerfile:15-17","Warn: npmCommand not pinned by hash: auth-ui/Dockerfile:18","Warn: npmCommand not pinned by hash: .github/workflows/docker-image.yml:27","Warn: npmCommand not pinned by hash: .github/workflows/docker-image.yml:28","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   6 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"44 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h46c-h94j-95f3","Warn: Project is vulnerable to: GHSA-wf8f-6423-gfxg","Warn: Project is vulnerable to: GHSA-3x8x-79m2-3w2w","Warn: Project is vulnerable to: GHSA-57j2-w4cx-62h2","Warn: Project is vulnerable to: GHSA-jjjh-jjxp-wpff","Warn: Project is vulnerable to: GHSA-rgv9-q543-rqg4","Warn: Project is vulnerable to: GHSA-v2xm-76pq-phcf","Warn: Project is vulnerable to: GHSA-j288-q9x7-2f5v","Warn: Project is vulnerable to: GHSA-c27h-mcmw-48hv","Warn: Project is vulnerable to: GHSA-r6j9-8759-g62w","Warn: Project is vulnerable to: GHSA-rc42-6c7j-7h5r","Warn: Project is vulnerable to: GHSA-xf96-w227-r7c4","Warn: Project is vulnerable to: GHSA-f3jh-qvm4-mg39","Warn: Project is vulnerable to: GHSA-hh32-7344-cg2f","Warn: Project is vulnerable to: GHSA-q3v6-hm2v-pw99","Warn: Project is vulnerable to: GHSA-w9jg-gvgr-354m","Warn: Project is vulnerable to: GHSA-wx54-3278-m5g4","Warn: Project is vulnerable to: GHSA-c4q5-6c82-3qpw","Warn: Project is vulnerable to: GHSA-gq28-h5vg-8prx","Warn: Project is vulnerable to: GHSA-36p3-wjmg-h94x","Warn: Project is vulnerable to: GHSA-hh26-6xwr-ggv7","Warn: Project is vulnerable to: GHSA-4gc7-5j7h-4qph","Warn: Project is vulnerable to: GHSA-4wp7-92pw-q264","Warn: Project is vulnerable to: GHSA-g5mm-vmx4-3rg7","Warn: Project is vulnerable to: GHSA-6gf2-pvqw-37ph","Warn: Project is vulnerable to: GHSA-rfmp-97jj-h8m6","Warn: Project is vulnerable to: GHSA-558x-2xjg-6232","Warn: Project is vulnerable to: GHSA-564r-hj7v-mcr5","Warn: Project is vulnerable to: GHSA-9cmq-m9j5-mvww","Warn: Project is vulnerable to: GHSA-wxqc-pxw9-g2p8","Warn: Project is vulnerable to: GHSA-2rmj-mq67-h97g","Warn: Project is vulnerable to: GHSA-2wrp-6fg6-hmc5","Warn: Project is vulnerable to: GHSA-4wrc-f8pq-fpqp","Warn: Project is vulnerable to: GHSA-ccgv-vj62-xf9h","Warn: Project is vulnerable to: GHSA-gfwj-fwqj-fp3v","Warn: Project is vulnerable to: GHSA-hgjh-9rj2-g67j","Warn: Project is vulnerable to: GHSA-g5vr-rgqm-vf78","Warn: Project is vulnerable to: GHSA-3mc7-4q67-w48m","Warn: Project is vulnerable to: GHSA-98wm-3w3q-mw94","Warn: Project is vulnerable to: GHSA-9w3m-gqgf-c4p9","Warn: Project is vulnerable to: GHSA-c4r9-r8fh-9vj2","Warn: Project is vulnerable to: GHSA-hhhw-99gj-p3c3","Warn: Project is vulnerable to: GHSA-mjmj-j48q-9wg2","Warn: Project is vulnerable to: GHSA-w37g-rhq8-7m4j"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T10:42:26.578Z","repository_id":44894997,"created_at":"2025-08-18T10:42:26.578Z","updated_at":"2025-08-18T10:42:26.578Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29471145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T05:26:30.465Z","status":"ssl_error","status_checked_at":"2026-02-15T05:26:21.858Z","response_time":118,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["authorization-server","identity-management","oauth2","quasar-framework","spring-boot","spring-security-oauth2","springsecurity","sso","stateless","vue"],"created_at":"2026-02-15T06:01:04.936Z","updated_at":"2026-02-15T06:01:39.050Z","avatar_url":"https://github.com/dustlight-cn.png","language":"Java","readme":"\u003cimg width=\"100%\" alt=\"auth-logo\" src=\"https://raw.githubusercontent.com/dustlight-cn/auth/master/docs/img/auth.png\"/\u003e\n\n# Auth\n\n[![Docker Build Status](https://img.shields.io/github/workflow/status/dustlight-cn/auth/Docker%20Image%20CI)](https://github.com/dustlight-cn/auth/actions/)\n[![License](https://img.shields.io/github/license/dustlight-cn/auth)](LICENSE)\n[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/dustlight-cn/auth?include_prereleases)](https://github.com/dustlight-cn/auth/releases)\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/dustlightcn/auth-service?label=image%20version\u0026logo=docker)](https://hub.docker.com/repository/docker/dustlightcn/auth-service)\n\n[简介](#简介)\n|\n[快速开始](#快速开始)\n|\n[文档](docs)\n|\n[部署](docs/deploy)\n|\n[构建](docs/Build.md)\n|\n[鸣谢](#鸣谢)\n\n## 简介\n\n**Auth** 是一个前后端分离的 OAuth2.0 授权中心与用户中心，适用于 **微服务鉴权**、**单点登录**、**企业开放平台** 等场景。\n\n**[👀 在线展示](#在线展示)**\n|\n**[🕵️‍♀️ 图片展示](#图片展示)**\n\n### 功能包括\n* 用户管理\n* 应用管理\n* 角色与权限管理\n* OAuth2 授权模式与授权作用域管理 （GrantType \u0026 Scope）\n* 应用授权与鉴权\n\n### 特点\n* 无状态的 **Restful** 服务\n* 简洁、自适应、双语言的前端页面\n* 快速部署微服务\n\n### 支持的授权模式\n\n* [X] 授权码模式 *authorization_code* （支持 OAuth 2.1 PKCE）\n* [X] 客户端凭据模式 *client_credentials*\n* [X] 隐式授权模式 *implicit*\n* [X] 令牌刷新 *refresh_token*\n* [ ] 密码模式 *password* （出于安全考虑默认不启用，如需启用可以自行创建。）\n\n### OAuth 2.1 和 OpenID Connect\n\n* [X] PKCE (Proof Key for Code Exchange) 支持\n* [X] OpenID Connect Discovery (`.well-known/openid-configuration`)\n* [X] UserInfo 端点 (`/userinfo`)\n* [X] ID Token 支持（JWT 中包含 OIDC 标准声明）\n* [X] 标准 OIDC 作用域（`openid`, `profile`, `email`, `phone`）\n\n详细文档请参考：\n* [OAuth 2.1 和 OpenID Connect 中文文档](docs/OAuth2.1-OIDC.md)\n* [OAuth 2.1 and OpenID Connect English Documentation](docs/OAuth2.1-OIDC-EN.md)\n\n## 快速开始\n### HELM 部署\n[HELM 部署文档](https://dustlight-cn.github.io/auth-helm)\n\n\n### Kubernetes 一键部署服务\n\n\u003e 使用 ```kubectl``` 一键部署服务，集群中需要至少三个持久卷（```PersistentVolume```）用于 MySQL 数据库 与 Redis 以及上传文件的持久化。\n\n```bash\nkubectl apply -f https://raw.githubusercontent.com/dustlight-cn/auth/master/docs/deploy/k8s/deploy.yaml\n```\n\n其他部署方式请参考：[部署文档](docs/deploy)\n\n构建、配置请参考 [文档](docs)。\n\n## 展示\n### 在线展示\n[前往查看](https://accounts.dustlight.cn)\n\n若您不想注册账号或者像想体验更高权限的功能，可以使用 [测试账号](#测试账号) 。\n\n#### 测试账号\n\u003e 1. 出于功能展示的目的，测试账号拥有查看所有用户信息的权限。如果您打算进行注册账号，您的电子邮箱地址可能会被其他人看到。\n\u003e 2. 若以下测试账号均不可用，请 [创建 Issue](https://github.com/dustlight-cn/auth/issues/new) 联系我。\n\n您可以使用下列的测试账号登录，它们拥有测试权限以及开发者权限。\n\n| 用户名 | 密码 |\n| --- | --- |\n| test_user | 123456 |\n| aaaaaa | 123456 |\n| bbbbbb | 123456 |\n\n#### OAuth2 授权页面与端点\n\n| 功能（前端） | URL | 示例 |\n| --- | --- | --- |\n| 授权 | [/authorize](https://accounts.dustlight.cn/authorize) | [隐式授权示例 *(implicit)*](https://live.dustlight.cn/login?redirect_uri=%2Fhome) |\n\n| 功能（后端） | URL | 方法 |\n| --- | --- | --- |\n| 颁发 OAuth 令牌 | [/v1/oauth/token](https://api.dustlight.cn/v1/oauth/token) | ```POST``` |\n| 销毁令牌 | [/v1/token](https://api.dustlight.cn/v1/token) | ```DELETE``` |\n| 检查令牌有效性 | [/v1/token/validity](https://api.dustlight.cn/v1/token/validity) | ```GET``` / ```POST``` |\n| 颁发签名 JWT | [/v1/jws](https://api.dustlight.cn/v1/jws) | ```POST``` |\n| 转换 JWT | [/v1/jws](https://api.dustlight.cn/v1/jws) | ```GET``` |\n| 获取 JWT 公钥 （JWK） | [/v1/jwk](https://api.dustlight.cn/v1/jwk) | ```GET``` |\n\n#### 接口浏览\n\n| Open API | URL |\n| --- | --- |\n| JSON | [https://api.dustlight.cn/v1/api-doc](https://api.dustlight.cn/v1/api-doc) | \n| YAML | [https://api.dustlight.cn/v1/api-doc.yaml](https://api.dustlight.cn/v1/api-doc.yaml) | \n| Swagger UI | [https://api.dustlight.cn/v1/swagger-ui](https://api.dustlight.cn/v1/swagger-ui) |\n\n### 图片展示\n#### 应用授权\n\u003cimg width=\"350\" alt=\"authorize\" src=\"docs/img/authorize.jpeg?raw=true\"/\u003e\n\n#### 用户详情\n\u003cimg width=\"350\" alt=\"user_details\" src=\"docs/img/user_details.jpeg?raw=true\"/\u003e\n\n#### 应用详情\n\u003cimg width=\"350\" alt=\"client_details\" src=\"docs/img/client_details.jpeg?raw=true\"/\u003e\n\n#### 系统设置\n\u003cimg width=\"350\" alt=\"settings\" src=\"docs/img/settings.jpeg?raw=true\"/\u003e\n\n## 实现细节\n### 后端\n\n* 通过重写 **Spring Security OAuth2** 中的 Endpoint 实现前后端分离架构，使用 **Redis** 存储 Token、授权码、验证码等。\n* 基于 **MySQL** \u0026 **MyBatis** 实现包括用户管理、应用管理、权限与角色管理等业务。\n* 文件储存通过第三方服务实现（同时兼容本地储存），登录注册等接口通过谷歌 reCAPTCHA 人机识别进行验证。\n* 使用 **Spring Doc** \u0026 **Swagger-UI** 生成 **OpenAPI** 文档和 API 调试页面。\n\n\n### 前端\n\n* 基于 **Vue** \u0026 **Quasar** 框架。\n* 使用 **OpenAPI Generator** 生成 Typescript Axios SDK。\n\n## 鸣谢\n\n[![JetBrains](docs/img/jetbrains.svg?raw=true)](https://www.jetbrains.com/?from=Auth)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustlight-cn%2Fauth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdustlight-cn%2Fauth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustlight-cn%2Fauth/lists"}