未发送基本身份验证标头(Swagger)

时间:2016-06-02 05:42:13

标签: swagger-2.0 swagger-editor

我有一个基本的身份验证安全API,但在填写身份验证凭据后,它不适用于请求标头。我在swagger编辑器上看到“找不到ERROR服务器或发生错误”,在fiddler上看到“401 Unauthorized”。

用户名和密码:odata和qtkr47PTM3pmzLyEHNrW4DXhhgyjMfM3CKUZfXdn0tk =

这是我的招摇json

 <%@ page import="db.Conn" %>
    <%@ page import="java.sql.*" %>

 <form method="Post" action="./transaction">

    <%  try{
        String id2=request.getParameter("id");
        System.out.println(id2);
    %>      
    <input type="hidden" name="id2" id="id2" value="<%=id2%>" >

    <%  }catch(Exception e)
        {System.err.println(e);}
    %>

        <button type="submit">Pay Now</button>

    </form>
    </span></div>

}

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但问题出在nodeJS后端。

如果您使用的是NodeJS,可能是CORS的问题。您应该使用Express在NodeJS中启用CORS,一切都会正常工作。

要在nodeJS中启用CORS,您可以在路由之前添加以下代码。

var app = express();

app.use(function(req, res, next) {

    res.setHeader('Access-Control-Allow-Origin', '*');

    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, UPDATE, DELETE, OPTIONS');

    res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization');

    next();

});