From 63dcafcc6b1bce760ff3ea5dc1e56f37f8b77f71 Mon Sep 17 00:00:00 2001 From: chenruilong Date: Fri, 25 Nov 2022 19:36:45 +0800 Subject: [PATCH] docs: update uni-id-pages.md --- docs/uniCloud/uni-id-pages.md | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/docs/uniCloud/uni-id-pages.md b/docs/uniCloud/uni-id-pages.md index d05ef38ba..181de2333 100644 --- a/docs/uniCloud/uni-id-pages.md +++ b/docs/uniCloud/uni-id-pages.md @@ -2162,16 +2162,25 @@ uni-id 在URL化请求时,会对以下 API 进行调用鉴权验证,在调 ```javascript const crypto = require('crypto') -function getSignature (params, nonce, timestamp) { - const paramsStr = Object.keys(params) - .sort() - .filter(item => typeof params[item] !== "object") - .map(item => `${item}=${params[item]}`) - .join('&') +class Sign { + constructor (requestAuthSecret) { + this.requestAuthSecret = requestAuthSecret + } + + getSignature (params, nonce, timestamp) { + const paramsStr = this.getParamsString(params) + const signature = crypto.createHmac('sha256', `${requestAuthSecret}${nonce}`).update(`${timestamp}${paramsStr}`).digest('hex') - const signature = crypto.createHmac('sha256', `${requestAuthSecret}${nonce}`).update(`${timestamp}${paramsStr}`).digest('hex') + return signature.toUpperCase() + } - return signature.toUpperCase() + getParamsString (params) { + return Object.keys(params) + .sort() + .filter(item => typeof params[item] !== "object") + .map(item => `${item}=${params[item]}`) + .join('&') + } } const requestAuthSecret = "testSecret" @@ -2185,12 +2194,12 @@ const params = { foobar: 4 } -const signature = getSignature(params, nonce, timestamp) +const sign = new Sign(requestAuthSecret) +const signature = sign.getSignature(params, nonce, timestamp) console.log("nonce: ", nonce) console.log("timestamp: ", timestamp) console.log("signature: ", signature) - ``` #### PHP ```php -- GitLab