2016-06-02 7 views
2

基本認証の保護されたAPIがありますが、認証資格情報を入力した後は要求ヘッダーには適用されません。私は、奇妙なエディタで "ERROR Server not found or error occurred"が見え、Fiddlerで "401 Unauthorized"が見えました。基本認証ヘッダーは送信されません(Swagger)

ユーザー名およびPWD:ここではODATAとqtkr47PTM3pmzLyEHNrW4DXhhgyjMfM3CKUZfXdn0tk =

は私の闊歩をJSONで

{ 
"swagger": "2.0", 
"info": { 
    "version": "1.0.0", 
    "title": "Basic Auth Example", 
    "description": "An example for how to use Basic Auth with Swagger.\nServer code is available [here](http://navm3.cloudapp.net:90/nav/odata). It's running on NAVM3.\n\n**You can use below User Name and Password for test.**\n* User Name: `ODATA`\n* Password: `qtkr47PTM3pmzLyEHNrW4DXhhgyjMfM3CKUZfXdn0tk=`\n" 
}, 
"host": "navm3.cloudapp.net:90", 
"basePath": "/nav/odata", 
"schemes": [ 
    "http" 
], 
"securityDefinitions": { 
    "basicAuth": { 
     "type": "basic", 
     "description": "HTTP Basic Authentication. Works over `HTTP` and `HTTPS`" 
    } 
}, 
"paths": { 
    "/": { 
     "get": { 
      "security": [ 
       { 
        "basicAuth": [] 
       } 
      ], 
      "responses": { 
       "200": { 
        "description": "Will send `Authenticated` if authentication is succesful, otherwise it will send `Unauthorized`" 
       } 
      } 
     } 
    } 
} 

}

enter image description here

enter image description here

答えて

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(); 

}); 
関連する問題