RESTful服务的新手,但在主题上阅读了很多。在VS2010中实现C#Restful登录 - 正确实施
类似(几乎相同)的问题已经在stackoverflow上被询问和回答,但老实说,我没有从响应中学到任何东西。
我想实现一个AuthenticatUser调用,其中发送用户名和密码并返回一个验证密钥。
鉴于这需要使用GET,POST,PUT或DELETE来完成,看起来GET最合适。
所以也许能使MYDOMAIN /为MyService /认证/ {名}/{}密码
,因为用户名和密码的URI传递我不喜欢这个,但据我所知它是不是一个好在GET中发送主体的想法。所以POST或者PUT可以工作,但是这似乎与RESTFul哲学不同。
问题1:可以在URL中发送密码等敏感数据吗?该网站将使用SSL。
问题2:在传递多个参数时,看起来URI概念会变得有点疯狂,复杂查询应该如何被RESTfully处理?
问题3:在RESTful API中,首选(正常,最常见)的身份验证方法是什么?
我认为你需要阅读什么是“RESTful”,它会诚实地回答你的大部分问题。除此之外,URL在浏览器中是可读的,因此在URL中放置任何机密信息都是不明智的。 –
通常,您的身份验证方案将涉及*创建会话对象(通常位于服务器上的数据库中),因此使用用户证书的PUT或POST完全适合。 – JDB
有意思的是创建一个服务器端会话对象的POST,但它似乎以技术性击败了体系结构的精神。就阅读而言,我有 - 它仍然凝胶化,我甚至读过菲尔丁博士的论文。我使用了亚马逊的S3,我了解它是REST,但是在购买时我们会分配一个验证密钥,并且它用于请求服务。 – kpg