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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
微信公众号OAuth2.0认证实现
认证支持两种方式
- 【静态】支持配置文件中直接配置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");
});
- 【动态】支持根据授权时传入的参数或者域名动态查询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 | Versions 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.