这是我第一次构建经过身份验证的API,而且我遇到了一些障碍。
如何安全将API密钥从远程客户端页面传递到我的服务器(以便用户验证将其帐户连接到客户端的页面/应用程序)?
-dylan
答案 0 :(得分:0)
你有没有看过SSL?
答案 1 :(得分:0)
根据我的经验,API密钥实际上用作哈希的盐,而密钥本身实际上并未传递。
当客户端向服务器生成请求时,它会将一堆内容混合在一起(请求时间,user_id)+哈希值,并且哈希值包含在请求中。在服务器端,通过检索服务器的密钥并按照相同的步骤重新计算相同的散列。如果散列不匹配,则意味着客户端向服务器发出请求不知道1)创建散列的步骤,更重要的是2)用作创建散列的salt的API密钥。通过这种方式,您可以确定您的客户端确实拥有密钥,并且知道如何进行身份验证,而无需发送实际的API密钥。