- QQConnect (QQ互联平台/QQ身份登陆): Here
- WeixinOpen (微信开放平台/微信扫码登录): this repo
- WeixinAuth (微信公众号/公众号内静默登录): Here
An ASP.NET Core authentication middleware for https://open.weixin.qq.com (微信开放平台/微信扫码登录)
- 须微信开放平台(open.weixin.qq.com)账号。
- 用户可使用微信扫码并确认后登入网站。
在微信开放平台(https://open.weixin.qq.com)上创建网站应用,获取“APPID”和“AppSecret”,并配置【授权回调域】。建议同时配置业务域名。
- 【授权回调域】(例如:wx.myvas.com)
- 在该域名下部署的网站可以使用本组件进行身份验证。
- 可以在多个虚拟目录下同时部署多个网站。
- 该项配置的域名是确定的,不会通配到本域名下的二级子域名上生效。
- 该项配置不限定协议,您可以采用HTTP或HTTPS都行。
- 配置中的CallbackPath可以直接使用默认配置。因为它的“根”是您的网站部署的地址,这个地址已经包含虚拟目录(如果有),因此,基本上不太可能与您的网站中已有网页路由地址冲突。
- 【业务域名】(例如:https://wx.myvas.com)
- 部署在该域名下的网站,可以使用本组件验证后的身份去访问任意PC小程序和分享小程序。
- 业务域名必须指定协议,最多只能指定3个业务域名。
services.AddAuthentication()
// using Myvas.AspNetCore.Authentication;
.AddWeixinOpen(options =>
{
options.AppId = Configuration["WeixinOpen:AppId"];
options.AppSecret = Configuration["WeixinOpen:AppSecret"];
options.CallbackPath = "/signin-weixinopen"; //默认
};
app.UseAuthentication();
- 同一用户在同一微信公众号即使重复多次订阅/退订,其OpenId也不会改变。
- 同一用户在不同微信公众号中的OpenId是不一样的。
- 若同时运营了多个微信公众号,可以在微信开放平台上开通开发者账号,并在“管理中心/公众账号”中将这些公众号添加进去,就可以获取到同一用户在这些公众号中保持一致的UnionId。