HarmonyOS 鸿蒙Next在node环境中如何生成鉴权令牌?
HarmonyOS 鸿蒙Next在node环境中如何生成鉴权令牌?
我们元服务中需要接入服务通知,
需要Authorization 这个令牌
我们按照文档将需要的东西配置完成后 需要生成JWT
但是文档中的示例代码 是java的 ,我们打算在云服务的node环境中配置
找了一些文档照着java的写老是生成不了鉴权令牌.
我想问下有没有大佬做过这块的内容给个源码或者关键代码看看
//使用jsonwebtoken 框架
var jwt = require(‘jsonwebtoken’);
var token =  jwt.sign(payload, base64key, {header, algorithm: ‘RS256’ })  会报
secretOrPrivateKey must be an asymmetric key when using PS256
更多关于HarmonyOS 鸿蒙Next在node环境中如何生成鉴权令牌?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
Node.js 中使用JWT(JSON Web Tokens)身份验证和授权,参考:
https://juejin.cn/post/6976957058625044517?from=search-suggest
https://blog.csdn.net/qq_63358859/article/details/142706887
https://apifox.com/apiskills/how-to-use-jwt-in-nodejs/
示例demo:
注意:需要在-----BEGIN PRIVATE KEY-----结尾有'\n',-----END PRIVATE KEY-----开头有'\n'
let myHandler = async function (event, context, callback, logger) {
	logger.info(event);
	var jwt = require('jsonwebtoken');
	// 注意需要在-----BEGIN PRIVATE KEY-----结尾有'\n',-----END PRIVATE KEY-----开头有'\n'
	const  base64key = "-----BEGIN PRIVATE KEY-----\nMIIJRAXXXXXsBTJ\n-----END PRIVATE KEY-----"
	const iss = "123456789";
	// 实际开发时请从服务账号密钥文件中读取key_id
    const kid = "xxxxx";
    const aud = "https://oauth-login.cloud.huawei.com/oauth2/v3/token";
<span class="hljs-keyword">const</span> iat = <span class="hljs-built_in">Math</span>.floor(<span class="hljs-built_in">Date</span>.now() / <span class="hljs-number">1000</span>);
<span class="hljs-keyword">const</span> exp = iat + <span class="hljs-number">3600</span>;
<span class="hljs-keyword">const</span> header = {
	<span class="hljs-string">'kid'</span>: kid,
	<span class="hljs-string">'alg'</span>: <span class="hljs-string">'PS256'</span>,
	<span class="hljs-string">'typ'</span>: <span class="hljs-string">'JWT'</span>
};
<span class="hljs-keyword">const</span> payload = {
	<span class="hljs-string">'iss'</span>: iss,
	<span class="hljs-string">'iat'</span>: iat,
	<span class="hljs-string">'exp'</span>: exp,
	<span class="hljs-string">'aud'</span>: aud
};
jwt.sign(payload, base64key, {header: header, algorithm: <span class="hljs-string">'RS256'</span> }, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(err, token)</span> {</span>
	callback({
		code: <span class="hljs-number">0</span>,
		desc: <span class="hljs-string">''</span> + token
	});
});
};
export { myHandler };
更多关于HarmonyOS 鸿蒙Next在node环境中如何生成鉴权令牌?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
        
      
                  
                  
                  

