{"id":13814223,"url":"https://github.com/HADB/GetWeixinCode","last_synced_at":"2025-05-15T03:33:15.949Z","repository":{"id":45560497,"uuid":"52322744","full_name":"HADB/GetWeixinCode","owner":"HADB","description":"解决微信OAuth2.0网页授权只能设置一个回调域名的问题","archived":false,"fork":false,"pushed_at":"2019-09-02T12:46:27.000Z","size":102,"stargazers_count":1458,"open_issues_count":0,"forks_count":477,"subscribers_count":99,"default_branch":"master","last_synced_at":"2024-08-04T04:05:22.607Z","etag":null,"topics":["wechat"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HADB.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":"2016-02-23T02:21:02.000Z","updated_at":"2024-07-31T08:51:05.000Z","dependencies_parsed_at":"2022-07-20T07:41:21.381Z","dependency_job_id":null,"html_url":"https://github.com/HADB/GetWeixinCode","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HADB%2FGetWeixinCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HADB%2FGetWeixinCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HADB%2FGetWeixinCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HADB%2FGetWeixinCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HADB","download_url":"https://codeload.github.com/HADB/GetWeixinCode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225326419,"owners_count":17456937,"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":["wechat"],"created_at":"2024-08-04T04:01:47.679Z","updated_at":"2024-11-19T09:30:30.151Z","avatar_url":"https://github.com/HADB.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# GetWeixinCode\n\n解决微信OAuth2.0网页授权只能设置一个回调域名的问题\n\n## UPDATE\n\n**最近发现微信公众号的网页授权域名已经支持配置多个，目前该项目的存在意义没有之前强烈了。目前唯一的用处就是多个域名可以统一在一个地方处理。**\n\n## 使用方法\n\n1. 部署`get-weixin-code.html`至你的微信授权回调域名的目录下\n\n2. 使用方式类似于直接通过微信回调的方式，只是将回调地址改成了`get-weixin-code.html`所在的地址，另外省去了`response_type`参数（因为它只能为`code`）以及`#wechat_redirect`（它是固定的），它们会在`get-weixin-code.html`里面自己加上\n\n3. `get-weixin-code.html`页面从微信那里拿到code之后会重新跳转回`redirect_uri`里面填写的url，并且在url后面带上`code`和`state`\n\n## 详细示例\n\n1. 前往微信公众平台-\u003e接口权限-\u003e网页授权获取用户基本信息-\u003e修改，填写授权回调页面域名，例如`www.abc.com`\n\n2. 在`www.abc.com`域名下部署`get-weixin-code.html`，不一定是根目录，例如：`http://www.abc.com/xxx/get-weixin-code.html`\n\n3. 假设你的`http://www.xyz.com/hello-world.html`这个页面需要获取微信授权，那么你应该使用以下地址来获取授权：`http://www.abc.com/xxx/get-weixin-code.html?appid=XXXX\u0026scope=snsapi_base\u0026state=hello-world\u0026redirect_uri=http%3A%2F%2Fwww.xyz.com%2Fhello-world.html`\n\n4. 这样最终就会跳转到这样一个地址：`http://www.xyz.com/hello-world.html?code=XXXXXXXXXXXXXXXXX\u0026state=hello-world`，从而你就拿到了授权`code`以及自定义的`state`参数了\n\n## Star走势图\n\n![Stargazers over time](https://starcharts.herokuapp.com/HADB/GetWeixinCode.svg)\n\n## 特别感谢\n\n感谢以下朋友为本项目提供的贡献（排名不分先后）\n\n- [star769706697](https://github.com/star769706697)\n\n- [davidqhr](https://github.com/davidqhr)\n\n- [tianhe1986](https://github.com/tianhe1986)\n\n- [AnthonyHuang001](https://github.com/AnthonyHuang001)\n\n- [sanzhumu](https://github.com/sanzhumu)\n\n- [q250305917](https://github.com/q250305917)\n\n- [kisChang](https://github.com/kisChang)\n\n- [EasonShen1989](https://github.com/EasonShen1989)\n\n## 其他说明\n\n- 通过多一次的跳转，解决了微信限制回调域名只能设置一个的问题\n\n- 牺牲了一点用户体验，换来了项目部署的美感，不需要将各种项目都部署到一个域名下\n\n- 如果你有这样的需求，可以使用本项目\n\n- 欢迎提交pull request\n\n- **建议先弄懂微信授权回调的流程再使用本项目**\n\n- **很多朋友问我怎么支持第三方微信平台，这个需要对不同的第三方平台的授权方式有所了解，熟悉他们的授权方式，请求参数等。如果他们是通过在网站入口处的URL上进行授权的，那么可以使用本项目，将入口的URL改成上述的方式，如果他们是在流程中的某些页面去获取授权，那么是没法改变他们的获取地址的，所以本项目就不适用了**\n\n## 支持作者\n\n![Donation](donation.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHADB%2FGetWeixinCode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHADB%2FGetWeixinCode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHADB%2FGetWeixinCode/lists"}