2017-11-18 12 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; 
} 

나는 우체국에서 생성 한 서명과 비교하여 서명을 확인하기 위해 타임 스탬프와 nonce와 함께 매개 변수를 지금 하드 코딩했습니다. 우편 발송자가 생성 한 서명을 복사하여 OAuth 헤더에 붙여 넣은 다음 승인을 받으면 따라서 오류는 서명 부분에 있어야합니다.

답변

0

물론 게시 후 5 분 동안 실수를 목격했습니다. sginingkey는

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

하지

let signingKey = encodeURIComponent(this.accessToken) + "&" + encodeURIComponent(this.accessTokenSecret); 
해야