まず、この点を確認して助けてください。 2つ目は、(1)サーバーサイドのXHRを使用するラズベリーパイノードアプリケーションと、(2)Oauth 2.0を使用したRuby APIの2つのアプリケーション間での認証シナリオに関係する状況があります。Ouath2 401エラー:要求に必須のパラメータがないか、サポートされていないパラメータ値が含まれているか、それ以外の場合は不正な形式です。
Rubyエンドポイントではいくつかの問題がありましたが、安定しているようです。私たちがPOSTMANと私たちのRaspberry Piから(うまくいけば)正しく認証できるように。私は私のカスタムロガーを使用して、次の例外を取得しています、という試みにおいて
:
NEW EXCEPTION - Thu Dec 14 2017 00:23:20 GMT-0800 (Pacific Standard Time) - Failed RESTful Async POST failed: 4 401 {"UNSENT":0,"OPENED":1,"HEADERS_RECEIVED":2,"LOADING":3,"DONE":4,"readyState":4,"responseText":"{\"error\":\"invalid_request\",\"error_description\":\"The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed.\"}","responseXML":"","status":401,"statusText":null,"withCredentials":true}!
ここで(編集済み)経由で送信されるデータです:
POSTMAN POST下記のザ・が動作しないNEW ENTRY - Thu Dec 14 2017 00:23:19 GMT-0800 (Pacific Standard Time) - REST POST for: http://cms.....ca/oauth/token with body: {"client_id":"...9","client_secret":"......","audience":"....ca","scope":"client admin","grant_type":"password","username":"[email protected]","password":"qqqqqqq"}
(編集済み):
POSTは怒っています私は(それがのOAuth2のために他のサイト上で動作し、現在は他の場所で認証するために取り組んでいるので)が、私はクリアするうえで何かアドバイスをいただければと思います、これは私のコードであるとは考えていない
headerAsyncPost: (url, data, headerKey, headerValue) => {
if (c.jobLogging()) l.log(`REST POST for ${url} with body: ${JSON.stringify(data)} ${headerKey} ${headerValue}`, 1);
return new Promise((res, rej) => {
try {
let r = new XMLHttpRequest();
s.xhrReady(url, r, 'Success', 'RESTful Async POST failed', res, rej);
r.open("POST", url, true);
r.setRequestHeader("content-type", "application/json");
r.setRequestHeader(headerKey, headerValue);
r.send(JSON.stringify(data));
} catch (ex) {
l.err(`Exception ${ex}`);
}
});
},
:電子パイ側を通ってこれがPi側であろうとRuby側であろうと、私が作ることができる何かの修正であろうと。正直なところ、私はむしろ、より軽量で洗練されたRubyの実装を使用したいと思います。ありがとう!