企业微信OAUTH2登录认证–-ASP NetCore 中间件设计与使用

步骤:

一、在企业微信官网注册企业微信帐号。

二、在企业微信 服务商官网,申请成为服务商(下图1)。并记下CorpID、ProviderSecret(下图二),配置登录授权域名(下图三)

三、在应用配置文件中将步骤二中的CorpID、ProviderSecret填写到应用的配置文件中。

四、企业微信认证中间件 设计。

中间件文件说明一览:

设计步骤:

步骤1、OAuth认证中间件Option设置。也可在注册中间件时指定,WXWorkAuthenticationDefaults(下图二)为企业微信OAuth2认证所需信息设置类默认值,须按企业微信官网规范中设置。

步骤2、企业微信权限认证RP端处理程序的设计,权限认证过程见下图一,说明链接

OP【OpenID Provider】: OpenID提供者,提供对用户鉴权功能
RP【Relying Party】: 依赖方,直接服务提供者,需要信任OP鉴权的结果
UA【User Agent】:终端用户,想使用RP服务的用户
三者间的关系就是:让UA在OP登陆,并使用RP提供的服务;服务供应商扮演RP角色。服务在此是指服务商的应用。RP端处理程序将按此图过程步骤说明。

RP端处理程序的设计步骤一览表:

RP端构造链接,跳转到OP登录页。官网参考链接

OP端鉴权成功后,重定向到RP端,RP端处理程序一览表:

RP端处理程序 步骤1:授权成功后,RP端验证会话是否一致(通过state参数,与跳转OP登录页时的state要求一致),并获取auth_code,为获取企业微信用户个人信息作准备

RP端处理程序 步骤2:OP端鉴权成功,使用CorpID、ProviderSecret获取Token,并使用上一步骤取到端用户授权码auth_code获取企业微信用户个人信息(下图二)

RP端处理程序 步骤3:上一步骤2中获取到企业微信用户个人信息后,开始创建用户认证票据ticket(下图二)

 

RP端处理程序 步骤4:提供获取企业微信认证用户 个人信息的方法,供服务商端应用调用

RP端处理程序 步骤5:汇整RP端认证处理过程,封装成企业微信认证中间件

  

五、企业微信认证中间件 使用

步骤1:在Startup中注册 企业微信认证 中间件,并启用认证中间件

步骤2:在服务商(RP)应用中将注册的 第三方登录认证 方式显示在登录页面,供用户自由选取登录方式。

步骤3:提供第三方登录验证处理方法

步骤4:启动应用,测试中间件是否正常

点击“企业微信”按钮:

企业微信客户端扫码二维码:

企业微信客户端扫码成功提升:

企业微信客户端确认登录:

成功获取到用户个人信息:

 

企业微信OAUTH2登录认证–-ASP NetCore 中间件设计与使用

步骤:

一、在企业微信官网注册企业微信帐号。

二、在企业微信 服务商官网,申请成为服务商(下图1)。并记下CorpID、ProviderSecret(下图二),配置登录授权域名(下图三)

三、在应用配置文件中将步骤二中的CorpID、ProviderSecret填写到应用的配置文件中。

四、企业微信认证中间件 设计。

中间件文件说明一览:

设计步骤:

步骤1、OAuth认证中间件Option设置。也可在注册中间件时指定,WXWorkAuthenticationDefaults(下图二)为企业微信OAuth2认证所需信息设置类默认值,须按企业微信官网规范中设置。

步骤2、企业微信权限认证RP端处理程序的设计,权限认证过程见下图一,说明链接

OP【OpenID Provider】: OpenID提供者,提供对用户鉴权功能
RP【Relying Party】: 依赖方,直接服务提供者,需要信任OP鉴权的结果
UA【User Agent】:终端用户,想使用RP服务的用户
三者间的关系就是:让UA在OP登陆,并使用RP提供的服务;服务供应商扮演RP角色。服务在此是指服务商的应用。RP端处理程序将按此图过程步骤说明。

RP端处理程序的设计步骤一览表:

RP端构造链接,跳转到OP登录页。官网参考链接

OP端鉴权成功后,重定向到RP端,RP端处理程序一览表:

RP端处理程序 步骤1:授权成功后,RP端验证会话是否一致(通过state参数,与跳转OP登录页时的state要求一致),并获取auth_code,为获取企业微信用户个人信息作准备

RP端处理程序 步骤2:OP端鉴权成功,使用CorpID、ProviderSecret获取Token,并使用上一步骤取到端用户授权码auth_code获取企业微信用户个人信息(下图二)

RP端处理程序 步骤3:上一步骤2中获取到企业微信用户个人信息后,开始创建用户认证票据ticket(下图二)

 

RP端处理程序 步骤4:提供获取企业微信认证用户 个人信息的方法,供服务商端应用调用

RP端处理程序 步骤5:汇整RP端认证处理过程,封装成企业微信认证中间件

  

五、企业微信认证中间件 使用

步骤1:在Startup中注册 企业微信认证 中间件,并启用认证中间件

步骤2:在服务商(RP)应用中将注册的 第三方登录认证 方式显示在登录页面,供用户自由选取登录方式。

步骤3:提供第三方登录验证处理方法

步骤4:启动应用,测试中间件是否正常

点击“企业微信”按钮:

企业微信客户端扫码二维码:

企业微信客户端扫码成功提升:

企业微信客户端确认登录:

成功获取到用户个人信息:

 

阿里钉钉OAuth2登录认证–中间件设计与使用

参考链接:第三方WEB网站扫码登录

步骤:

一、在阿里钉钉官网注册帐号。

二、获取appId及appSecret

点击进入钉钉开发者平台 的页面,点击左侧菜单的【移动接入应用然后点击右上角的【创建扫码登录应用授权】,创建用于免登过程中验证身份的appId及appSecret,创建后即可看到appId和appSecret。

 

需提交字段 说明
名称 授权微应用的名称,必填
描述 扫码登录用于,主要是说明 使用的场景,必填
授权页面LOGO地址 这个会显示在授权页面的中间页中,以http或https开头,必填
回调域名 微应用回调的URL,以http或https开头,必填

三、在应用配置文件中将步骤二中的AppId、AppSecret填写到应用的配置文件中。

四、阿里钉钉认证中间件 设计。参考企业微信OAuth2登录认证–中间件设计与使用

OP鉴权完成后,获取用户个人信息与与企业微信有不同之处,不同之处在于:RP端处理程序 步骤2。

这里只对此不同之处作说明:

步骤1:使用 AppId、AppSecret 换取AcessToken,步骤2中获取到用过个人信息后创建票据,并返回用户给应用,应用根据应用需求实现想要的功能。

 

步骤2:按照官网步骤,顺序 获取用户持久授权码–>获取SNS_TOKEN–>获取用户个人信息

五、阿里钉钉认证中间件 测试

点击“阿里钉钉”按钮:

阿里钉钉客户端扫码二维码:

阿里钉钉客户端扫码成功提升:

成功获取到用户个人信息:

Senparc组件在微信公众平台使用

1,安装Senparc公众号组件包Install-Package Senparc.Weixin.MP

2,Senparc组件使用

引用命名空间:

获取公众号关注者列表

向公众号关注者发送文本消息

 

Sqlite在ASPNet Core中使用

Sqlite工具:SQLiteStudio

在 .NET Core上使用EF Core实现针对Sqlite的操作:官网指南

实例

使用步骤:

1,安装插件:Microsoft.EntityFrameworkCore.Sqlite

2,新建DbContext,用于将entity与DB中table的映射,并按需求配置。

3,在Staraup.cs中注册 数据库上下文(DbContext),作为服务使用。

blogging.db为sqlite数据库,按下面代码文件要放在系统统计目录下,发布时不会被发布,发布后如果没有包含在wwwroot下,要将文件复制到wwwroot下。

4,在代码中注入 数据库上下文(DbContext)

5,在需要的地方使用 数据库上下文(DbContext) 操作数据

6,db文件:blogging