如何从用户端保护Web API

时间:2019-01-29 11:35:04

标签: c# authentication webapi2

系统将生成一个URL并发送给客户手机/电子邮件。

当用户单击URL链接时,它应调用Web api服务以获取一些数据并显示。但是我的Web api服务不允许在标头中没有凭据的任何请求。

同时,我无法在生成的URL中传递凭据。如何处理呢? 同样,我不能独自忽略此api的身份验证。

编辑:(编辑了问题,因为报告的范围太广了)

有什么方法可以生成身份验证密钥,并且可以在服务器端进行验证? 我没有任何静态API密钥可进行验证,因为我可能需要在前端配置它(该问题会带来安全问题)?

1 个答案:

答案 0 :(得分:1)

您可以创建某种会话机制,每次为用户生成guid并将其放置在缓存中(复制到数据库,以避免缓存失败时丢失它)大约1天或您需要的任何时间,然后以此授权用户服务器端的ID。 您的网址看起来像

https://example.com/[generated session guid]