it-swarm.cn

Web API身份验证技术

我们有一个asp.net MVC Web服务框架,用于为人们获取请求提供xml/json,但正在努力寻找最佳方法(对于使用javascript或OO =语言)来验证用户身份。不是我们的数据是敏感数据或其他任何东西,我们只希望用户注册,以便我们可以使用其电子邮件地址来通知他们更改并跟踪使用情况。

在我们之前的尝试中,我们在URI中使用了用户名,并且只需确保用户名存在并随着使用情况增加数据库表。这是超级基础,但我们会注意到人们使用demo作为用户名等,因此我们需要使其更加复杂。

有哪些可用的身份验证技术?主要参与者使用/做什么。

26
Steve

我在StackOverflow上问了这个问题,您可以 在这里阅读 。另请参阅 我的答案 针对我自己的问题。正是关于身份验证,而无需为每个请求传递密码,也无需SSL或加密。只是简单的哈希。

10
user2567

此视频 是在WCF/REST服务中使用API​​密钥的一种有趣方式。 代码

3
Tangurena

我把它当作Visual Studio使用。如果您将vs 2010与4.0框架一起使用,则可以在vs 2010中检出“ WCF REST具有API密钥验证的服务”)模板。

0
KinGBin

我始终对Web服务使用HTTP身份验证。身份验证本身将由您的Web服务器处理,可能是IIS。在您的情况下,您需要配置IIS以针对您的数据库,LDAP存储,或类似。

然后您将通过属性User.Identity.Name访问用户名

[〜#〜] edit [〜#〜]:jQuery身份验证示例:

/* I found that providing the username and password both in the
   the arguments and in the url parameter seems to have better compatibility,
   if it works well for you, it is highly advisable to remove the 
   user/pass from the url */

function doLogin (){
  $.ajax({
    username: $('#username').val(),
    password: $('#password').val(),
    url: 'https://'+$('#username').val()+':'+$('#password').val()+'@api.example.com',
    dataType: 'jsonp',
    context: $('#result'),
    success: function(d) { $(this).html(d); $(location).attr('href','https://api.example.com/success'); }
    });
    return false;
}
0
ewindisch