我正在玩face.com的第三方面部识别api。我只需创建一个api_key和api_secret作为参数的POST请求,就可以在我的开发者设备上运行api。
然而,通过我到目前为止所阅读的内容显然并不安全,因为我的秘密api_key在POST数据中可以清楚地访问。我认为唯一真正的方法是在Azure上托管一个Web服务(例如),从用户手机接收图像数据,将api_secret添加到它,然后将其传递给Face.com api返回结果并将其传回用户手机。
从我非常有限的知识来看,这听起来并不十分有效。我只是想知道是否有人有任何替代建议,我怎么能这样做?例如:是否可以将图像保存在临时blob存储中,然后将这些图像的url而不是原始图像数据发送到Face.com api,因此它只被发送一次?
最后一件事,我还有更多关于azure的阅读,但基本上如果我有一次实例并且等待Face.com api为一个用户返回结果,另一个用户可能已经上传了一个照片必须等到这个回来,直到他们可以处理?
答案 0 :(得分:2)
请查看此问题以获取一些建议 - How can I securely embed a static string (key) in C#?
如果你真的想保密你的密码,那么我认为你必须通过一个单独的服务器(如azure)
对于我的face.com应用程序,我只是将密钥放在xap中 - 我已经看到了类似于对twitter应用程序和stackmob等存储服务的密钥的妥协。