1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Basic_SecureAPI.md 2.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Fu Diwei Отправлено 21.06.2024 13:50 0d19cc3

如何接入安全鉴权模式?


请先自行阅读:

《微信官方文档 - 开发前必读:安全鉴权模式介绍》

自 v3.2.0 版本起,本库支持接入微信安全鉴权模式。


接入指引

在微信公众平台或微信开放平台启用 API 加密及签名校验后,你需要在原有的项目代码基础上做出如下两点调整。

首先,构造得到 WechatApiClient 对象的方式与原有方式基本一致,只需额外指定与安全鉴权模式相关的参数:

var options = new WechatApiClientOptions()
{
    // 其他配置项略
    SecureApiEnabled = true,
    SecureApiSymmetricAlgorithm = Constants.SecureApiSymmetricAlgorithms.AES,
    SecureApiSymmetricNumber = "AES/SM4 对称加密密钥编号",
    SecureApiSymmetricKey = "AES/SM4 对称加密密钥",
    SecureApiAsymmetricAlgorithm = Constants.SecureApiAsymmetricAlgorithms.RSA,
    SecureApiAsymmetricNumber = "RSA/SM2 非对称加密私钥编号",
    SecureApiAsymmetricPrivateKey = "RSA/SM2 非对称加密私钥"
};
var client = WechatApiClientBuilder.Create(options).Build();

这样,就已经完成了接入安全鉴权模式的全部流程。相关 API 的调用方式与原有方式完全一致。


全部 API 加密及签名

默认情况下,启用安全鉴权模式后本库也只会对部分关键 API 自动加密及签名。

完整的关键 API 清单可以参考项目目录下的 src/SKIT.FlurlHttpClient.Wechat.Api/Interceptors/WechatApiSecureApiInterceptor 文件的 SIGN_REQUIRED_URLS 的常量。

如果你需要开启全部 API 加密及签名,请在上文的基础上额外设置:

var options = new WechatApiClientOptions()
{
    // 其他配置项略
    SecureApiCustomRequestPathMatcher = (url) =>
    {
        if (url == "/sns/auth")
            return true;
        else if (url == "/sns/userinfo")
            return true;

        return false;
    }
};
var client = WechatApiClientBuilder.Create(options).Build();

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat.git
git@api.gitlife.ru:oschina-mirror/fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat.git
oschina-mirror
fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat
fudiwei-DotNetCore.SKIT.FlurlHttpClient.Wechat
main