2017-07-19 7 views
0

リモートAPIを使用してRESTレスポンスを取得しようとしていますが、特定のIPアドレスからのみローカルマシンからの応答を取得しています。 Mashery-Error-Code、値:ERR_403_NOT_AUTHORIZED。RESTレスポンスが特定のIPアドレスから取得されない

サービスプロバイダに確認したところ、どのIPアドレスもブロックしていません。私は以下のようにsha256を使って共有秘密鍵を使って生成されたApi鍵と署名を渡しています。 org.apache.commons.codec.digest.DigestUtils.sha256Hex(apiKey + sharedSecret + System.currentTimeMillis()/ 1000);

これが特定のIPアドレスから機能しない理由は何でしょうか。

ご協力いただければ幸いです。

答えて

0

あなたの認証が適切でない場合、ERR_403_NOT_AUTHORIZEDがMasheryで起こります。あなたの鍵/秘密が正しくないか、あなたのoAuth2トークンが期限切れになっているか、あなたのSHA256/MD5署名が正しくないことを意味します。

Mashery-Error-Code、値:IPがブロックされている場合、ERR_403_NOT_AUTHORIZEDは通常発生しません。

この場合、問題はあなたがSystem.currentTimeMillis()/ 1000を使用していると思います。

これがうまくいかなかった場合はその代わりに、あなたがいるかどうかを確認することができ、恐らくMath.round(新しいjava.util.Date()。getTime()/ 1000)

org.apache.commons.codec.digest.DigestUtils.sha256Hex("apiKey" + "sharedSecret" + Math.round(new java.util.Date().getTime()/1000)) 

を試すことができます別のヘッダーX-Error-Detail-Headerがあります。

関連する問題