Demo 6.0.3-alpha

这是一组github开源项目的演示网站。本网站源代码在此:Myvas.AspNetCore.Authentication.Demo

部署环境

本程序部署在Debian.11-x64服务器上。

注意:本程序必须部署公网服务器80端口上,并在相应微信公众号上配置好“网页服务/网页授权获取用户基本信息”才能正常工作。


触发身份验证

(1)点击UserInfo触发Challenge进入登录页面。

--- 或 ---

(2)点击这里展示一个网址二维码,用手机扫码进入。

--- 或 ---

(3)直接扫码进入微信公众号测试,然后点击菜单[UserInfo]

(注:以上微信公众号的源码在Myvas.AspNetCore.Weixin,其Demo程序可以修改这些菜单)


一、QQ开放平台-网站接入QQ登录

此方式将网站接入到QQ开放平台。

通常的应用场景是:
1.用户在PC或平板电脑上打开您的网站上某个需要身份验证的网页;
2.网站系统[Authorize]发现该用户尚未登录,于是显示登录页面;
3.用户点击QQ登录图标,用手机QQ扫码,或直接输入QQ账户密码登入;
4.网站系统继续打开目标网页,显示给用户。

二、微信开放平台-网站接入微信登录

此方式无须用户预先关注您的微信公众号。

通常的应用场景是:
1.用户在PC或平板电脑上打开您的网站上某个需要身份验证的网页;
2.网站系统[Authorize]发现该用户尚未登录,于是显示登录页面;
3.用户选择扫码方式登录,掏出手机扫码;
4.网站系统继续打开目标网页,显示给用户。

在登录页面,选择【WeixinOpen】方式登录。

三、微信公众平台-微信内网页授权

此方式必须用户预先关注您的微信号。

通常的应用场景是:
0.用户已经关注了您的微信公众号;
1.用户使用手机微信进入您的微信公众号,点击某菜单;
2.微信公众号服务程序[Authorize]发现该用户尚未登录,于是跳转到登录页面;
3.登录页面发现用户终端是微信客户端,于是直接执行ExternalLogin方法Challenge:WeixinOAuth身份验证;
4*.是否需要用户微信确认;(默认options.SilentMode=true,即不附加snsapi_userinfo)
5.腾讯服务器回调ExternalLoginCallback方法,微信公众号服务程序匹配系统用户,身份验证通过,将目标网页显示给用户。


用到的其他组件

Myvas.AspNetCore.TencentSms
腾讯云短信:发送短信验证码。
Myvas.AspNetCore.ViewDivert
检测微信客户端:在Account/Login中检测客户端,如果是微信客户端则直接使用WeixinAuth身份验证,否则触发标准Identity登录网页。