2017-11-18 4 views
0

Typescriptでoauthのシグネチャ生成を実装しようとしていますが、動作していましたが、マイナーなものを変更しました(私のメソッドでURIをハードコードし、 )実際に注意を払わなかった今、それは私が知らない何らかの理由で壊れています。私は2時間、私のコードを見てここに座っていますが、神の愛のために、私はそれを再び働かせることはできません。Typescript/JavascriptでOath 1.0aシグネチャを計算する

calculateSignatur(URI: string, nonce: string, timestamp: number): string{ 
    let rawURL: string = "GET&" + encodeURIComponent(URI) + "&"; 
    let parameterString: string = "exact=false" + 
            "&oauth_consumer_key=" + this.appToken + 
            "&oauth_nonce=" + nonce + 
            "&oauth_signature_method=" + this.oauth_signature_method + 
            "&oauth_timestamp=" + 1511003512399 + 
            "&oauth_token=" + this.accessToken + 
            "&oauth_version=" + this.oauth_version + 
            "&search=Black"; 

    let signingString = rawURL + encodeURIComponent(parameterString); 

    let signingKey = encodeURIComponent(this.accessToken) + "&" + encodeURIComponent(this.accessTokenSecret); 
    let signatur: string = CryptoJS.HmacSHA1(signingString, signingKey).toString(CryptoJS.enc.Base64); 
    console.log("Signatur: " + signatur) 
    return signatur; 
} 

私は今、タイムスタンプとナンスと同様に、郵便配達員によって生成された署名と署名をチェックするためにパラメータをハードコードしました。私が郵便配達員によって生成された署名をコピーしてOAuthヘッダーに貼り付け、承認を得るのであれば。したがって、エラーは署名部分になければなりません。

答えて

0

もちろん、投稿後5分、私は間違いを見ました。 sginingkeyは

let signingKey = encodeURIComponent(this.appSecret) + "&" + encodeURIComponent(this.accessTokenSecret); 

なく

let signingKey = encodeURIComponent(this.accessToken) + "&" + encodeURIComponent(this.accessTokenSecret); 
する必要があります
関連する問題