Dar*_*der 58 c# api-key asp.net-web-api
我有兴趣为web.api创建API密钥,并允许客户端使用API密钥与API进行通信,而不是web.api提供的授权.
我希望多个客户端能够与web.api进行通信.我可以使用api密钥而不是创建用户名和密码,并允许客户端与客户端通信.
有没有这样的内置功能?
如果有人想实施它,你会怎么回事呢?
cuo*_*gle 68
您可以通过使用HMAC身份验证来实现.基本上,可能有一个名为ApiKey的数据库表(apiKey,secretKey).每个客户端都有每个Apikey和密钥:
ApiKey就像一个公钥,将通过HTTP发送(类似于用户名).
密钥不是通过HTTP发送的,使用此密钥来执行hmac某些信息并将散列输出发送到服务器.从服务器端,基于公钥,您可以获取相关的密钥和哈希信息以与哈希输出进行比较.
我在以下网址发布了详细的答案:如何保护ASP.NET Web API
您可以在我的回答中使用您的想法通过密钥更改用户名ApiKey和哈希密码.
归档时间: |
|
查看次数: |
59635 次 |
最近记录: |