【问题标题】:Authentication headers in REST API callREST API 调用中的身份验证标头
【发布时间】:2013-12-02 18:39:20
【问题描述】:

在我的 java web 应用程序中,我添加了一个 web 服务调用 @ URL 10.10.10.21:8088/openbravo/com.data.service.

当我从浏览器点击 URL 时,它会要求我输入用户名和密码。输入这些详细信息后,我可以看到 json 输出(期望的输出)。

Web 服务提供 JSON REST 服务。我想实现一个基本的客户端 UI 来获取这个 JSON 数据并在页面上发布。作为客户端的一部分,我用 jQuery ajax 编写了基本的 html 代码来调用这个 URL。但我得到 401 未经授权的响应。

$("input#add-contact").on("click", function () {
            $.ajax({
            type: "POST",
            url: "http://10.10.10.21:8088/openbravo/com.indavest.openbravo.restaurantpos.service",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(response) {
                console.log(response);
            }
            });
        });

如何将身份验证标头添加到调用中。上述代码行是调用其余 Web 服务的正确方法吗?我是 Web 服务概念的新手。任何帮助都会很棒!!!谢谢。

【问题讨论】:

    标签: java web-services rest


    【解决方案1】:

    基本身份验证:

    $.ajax({
    type: "post",
    url: "http://localhost:8080/myservice/function?format=json",
    headers: { "Authorization" : makeBasicAuth("1", "1") },
    data: jsonText,
    contentType: "application/json; charset=UTF-8",
    dataType: "json",
    success: function( data, statusTxt, xjobj )
        {
            showSuccess( data, statusTxt, xjobj, "blabla" );
        },
                error: function( xjobj, statusTxt, errorThrown )
                {
            showError( statusTxt, xjobj, errorThrown, "blabla" );
            }
        });
    

    与:

    function makeBasicAuth(user, password)
    {
        var tok = user + ':' + password;
        var hash = btoa(tok);
        return "Basic " + hash;
    }
    

    但这是基本的,还有摘要式身份验证(我建议您使用维基百科对这些 http 技术进行很好的解释)等等,但想法是相似的。

    【讨论】:

    • 谢谢!对于响应.. 在代码中 - 数据:jsonText .. 这里的 jsonText 是什么?
    • @SangramAnand 这是负载,HTTP 正文。
    • 我尝试使用上面的代码,它到达服务器,但授权标头为空。我在这里缺少任何参数吗?
    • 授权头为空?这很奇怪,你用fiddler检查过吗?
    猜你喜欢
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多