让我们通过ajax请求聊天认证

时间:2016-05-18 14:23:24

标签: javascript ajax api authentication chat

我为自己的服务器部署了一个Let's Chat应用程序。

然而,我不想使用当前构建的原创Let's Chat Web应用程序,而是使用其API开发自己的。

根据Let's Chat wiki

  

撤销API令牌

     

在左上角的下拉菜单中:

     
      
  • 选择“Auth令牌”
  •   
  • 点击“撤销令牌”
  •   
  • 选择“是”。这将删除任何以前生成的令牌。
  •   
     

基本身份验证

     

在验证时使用API​​令牌作为用户名。密码   可以设置为任何东西,但它不能为空(仅仅因为大多数   客户要求它。)

到目前为止,我已经生成了自己的令牌并尝试发送GET请求以检索我在应用中的所有房间,但我收到了错误:401 - Unauthorized - 我试过了使用{ data: my_token, password: my_random_password }凭据发送此请求但未成功。所以我的主要问题是:我如何使用ajax请求使用Let的聊天API进行身份验证?

我找不到专门用于此类任务的API网址/端点 - 请帮忙。

编辑:

我也试过设置标题,但它仍然不起作用:

$.ajax({
    url: CHAT_URL + 'rooms',
    beforeSend: function(xhr){
        xhr.setRequestHeader('username', 'NTczYzZ1111111111111111111JiMWE3MGUwYThiNzZhYjhmYjFjOWJkOTQ5ZDQ2YjhjNWUyMzkwNmMzYjhjMQ==');
        xhr.setRequestHeader('password', '123qwe');
    }
}).done(function(resp){
    console.log('1');
    console.log(resp);
}).done(function(resp){
    console.log('2');
    console.log(resp);
});

1 个答案:

答案 0 :(得分:1)

从该维基页面:

  

使用API​​令牌作为承载令牌。

通过将标头Authentication设置为值bearer YOUR_TOKEN_HERE

来完成此操作

所以,

 xhr.setRequestHeader('Authentication', 'bearer NTczYzZ1111111111111111111JiMWE3MGUwYThiNzZhYjhmYjFjOWJkOTQ5ZDQ2YjhjNWUyMzkwNmMzYjhjMQ==');

如果您希望使用基本身份验证,则会回答该问题

How to use Basic Auth with jQuery and AJAX?