以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何完成digest认证?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=191577)

--  作者:foxtable1
--  发布时间:2024/4/23 16:38:00
--  [求助]如何完成digest认证?
[求助]如何完成digest认证?
--  作者:foxtable1
--  发布时间:2024/4/23 16:43:00
--  
httpclient.headers如何设置?
--  作者:有点蓝
--  发布时间:2024/4/23 17:06:00
--  
估计用不了,网上搜了一下,需要使用HttpClientHandler 类,但是这玩意是.net framework 4.5才有的,foxtable仅支持到4.0
--  作者:foxtable1
--  发布时间:2024/4/24 8:48:00
--  
怎会用不了呢?微信api接口调用,其签名认证好像也属于digest认证吧。
--  作者:foxtable1
--  发布时间:2024/4/24 8:57:00
--  

<!--[if !supportLists]-->                        i.              <!--[endif]-->认证方式为Digest认证时,用户访问该API时需要在HTTP请求头中携带"Authorization", "Authorization"的值对应格式为

<!--[if !supportLists]-->                      <!--[endif]-->Algorithm=Algorithm,TimeStamp=TimeStamp,AccessKeyId=AccessKeyId,Signature=Signature

名称

描述

Algorithm

用于计算签名的算法HMAC-SHA256

TimeStamp

时间戳,为API调用时刻对应的UTC时间(北京时间-8小时),时间格式如下"2015-01-01 01:01:01"

Access Key Id

授权后为用户分配的Access Key ID

Signature

参加签名的字段有:URL参数,TimeStamp, Access Key Secret

1.URL参数规范化

1).&符号为分隔符,得到参数列表

2).把分隔后得到的字符串按参数名称的字典顺序依次使用&符号连接。

3).使用UTF-8字符集进行URL编码。

2.构造用于计算签名的字符串

StringToSign=

HTTPMethod + "&" +

percentEncode("/") + "&" +

percentEncode("TimeStamp") + "&" +

URL参数规范化的值

其中percentEncode指使用UTF-8字符集进行编码。

3.计算签名




--  作者:有点蓝
--  发布时间:2024/4/24 8:58:00
--  
微信直接传入appid,secret就可以获取access_token,不需要那么复杂
--  作者:foxtable1
--  发布时间:2024/4/24 8:59:00
--  

给个如下案例,代码如何写?

名称

URL

http://www.**po.com/api/v1.0/catlog?id=1&flag=true&type=json

HTTPMethod

GET

TimeStamp

2016-01-01 01:01:01

Algorithm

HMAC-SHA256

Access Key Id

bf796c1d7081462a49042c0a71ed9b143

Access Key Secret

8bf76c1d7081462a9042c0a71ed9b142


--  作者:有点蓝
--  发布时间:2024/4/24 9:03:00
--  
参考:http://www.foxtable.com/webhelp/topics/3389.htm