Always-on ラボを使って Mobility Service Engine 10.1 API のテストをしようとしています。
しかし、ブラウザで下記の URL をロードしようとすると、"CMX: System error" エラーメッセージが表示されます。
https://msesandbox.cisco.com:8081/api/location/v2/clients/
何か見落としているか、sandobox がダウンしていますか?
CMX: System error message を確認しましたが、事象の再現はできません。
まず、認証ヘッダーを疑っています。下記をご覧ください。
API 認証の詳細について
MSE API は、API 陸ストの認証に Basic Authentication scheme を使っています。各 APIリクエストは、Authorization header 内で API アクセスクレデンシャルを持っていなければいけません。
APIクレデンシャルは、MSE 8のグループページとユーザへアクセスすることにより、GUI 経由で MSE Admin によって生成できます。
ユーザクレデンシャルは、それに関連する読み込みと書き込みの権限を持っています。書き込み権限がないユーザクレデンシャルは、REST API リソースで GET 操作をすることしかできません。さらに、特定の APIは、ユーザリクエストにより生成された設定だけをを返します。
Authorization ヘッダーは、下記のように構成されています。
ユーザネームとパスワードは、”username:password”の文字列で合成されます。
結果の文字列リテラルは、Bse64を使ってエンコードされます。
スペースと文字列”Basic”の認証方法は、エンコードされた文字列の前に配置されます。
例えば、もしユーザネームが ”Aladin” で、パスワードが ”sesame open” の場合、ヘッダーはこのように形成されます。:Authorization: Basic QxhZGluOnNlc2FtIG9wZW4=
もし API リクエストが、Authorization header を持たないか、もしクレデンシャルが正しくない場合は、MSEは、次のような認証ヘッダーを含んだ HTTP 401 Not Not Authorized response コードを送ります。:WWW-Authenticate: Basic realm=“MSE API Service”
そうですね。Basic auth ヘッダーがなくなっています。
私はブラウザを使っており、401 メッセージか basic auth ポップアップを予想していたので、"CMX: System Error" で混乱していました。
正しい HTTP basic auth header をここで送るのはできました。
コメント
0件のコメント
サインインしてコメントを残してください。