Qos.Xin.OAuth.WxAuth 1.0.3

dotnet add package Qos.Xin.OAuth.WxAuth --version 1.0.3                
NuGet\Install-Package Qos.Xin.OAuth.WxAuth -Version 1.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Qos.Xin.OAuth.WxAuth" Version="1.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Qos.Xin.OAuth.WxAuth --version 1.0.3                
#r "nuget: Qos.Xin.OAuth.WxAuth, 1.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Qos.Xin.OAuth.WxAuth as a Cake Addin
#addin nuget:?package=Qos.Xin.OAuth.WxAuth&version=1.0.3

// Install Qos.Xin.OAuth.WxAuth as a Cake Tool
#tool nuget:?package=Qos.Xin.OAuth.WxAuth&version=1.0.3                

微信公众号OAuth2.0认证实现

认证支持两种方式

  1. 【静态】支持配置文件中直接配置appId, appSecret进行认证
            services.AddAuthentication("Cookies").
                .AddCookie("ExternalCookie")
                .AddWechat(k =>
                {
	                k.ClientId = "xxx";
	                k.ClientSecret = "xxx";
	                k.SignInScheme = "ExternalCookie";
	                k.Scope.Add("snsapi_userinfo");
	                k.AccessDeniedPath = new PathString("/access_denied");
	                k.ClaimActions.MapJsonKey("nickname", "nickname");
	                k.ClaimActions.MapJsonKey("headimgurl", "headimgurl");
	                k.ClaimActions.MapJsonKey("openid", "openid");
                });

  1. 【动态】支持根据授权时传入的参数或者域名动态查询appId,appSecret进行授权
            services.AddAuthentication()
                .AddCookie("WxAuthCookie", k =>
                {

                })
                .AddWechat(k =>
                {
                    k.SignInScheme = "WxAuthCookie";
                    k.Scope.Add("snsapi_userinfo");
                    k.AccessDeniedPath = new PathString("/access_denied");
                    k.ClaimActions.MapJsonKey("nickname", "nickname");
                    k.ClaimActions.MapJsonKey("headimgurl", "headimgurl");
                    k.ClaimActions.MapJsonKey("openid", "openid");
                    k.InitHandler = (sp, ctx) =>
                    {
                        var taskId = ctx.Request.Query["t"];
                        var context = sp.GetRequiredService<DbContext>();
                        var task = context.ShareTask.Where(k => k.TaskCode == taskId).FirstOrDefault();

                        k.ClientId = task.AppId;
                        k.ClientSecret = task.AppSecret;
                        return Task.CompletedTask;
                    };
                });
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.3 148 10/9/2023
1.0.2 182 8/13/2023
1.0.1 149 8/13/2023
1.0.0 163 8/13/2023