| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 如何用identityserver4保护nodejs的web接口安全 -> 正文阅读 |
|
[JavaScript知识库]如何用identityserver4保护nodejs的web接口安全 |
? ? identityserver4是基于.NET Core打造的一款基于 OpenID Connect 和 OAuth 2.0 认证框架,可以很方便的为asp.net core web项目做安全认证等功能, 那这次本文分享如何把identityserver4应用于nodejs的web接口安全。 ? ?这里nodejs我们用koa2作为web代码框架来做示范。 1.编写一个hello world的web应用?文件名demo.js,内容如下
? node demo.js启动后,用浏览器测试 2.引入koa-jwt,jwks-rsa相关第三方插件代码修改如下
代码里面有几个关键参数: const jwksHost = 'http://<identityserver4>' jwksUri: `${jwksHost}/.well-known/openid-configuration/jwks` <identityserver4>就是你部署identityserver4的主机域名或IP,? <issuer>和<jwksUri>这两个值可以直接通过用浏览器访问http://<identityserver4>/.well-known/openid-configuration页面查询下,会返回类似如下页面,请确保代码的值与这个页面的值一致。 ?修改完代码,启动web: node demo.js, 再次用浏览器访问,出现如下信息 说明安全保护起作用了。 2.使用token测试为了测试token,我们还是用nodejs脚本模拟客户端,编写一个 test.js文件,内容如下
?这里使用Client Credential模式来测试, id和secret由identityserver4里的配置来提供,代码第一步先验证拿到token,然后再请求上面demo.js的web接口,在请求的header里authorization字段设置为"Bearer <token>",这也是oauth2协议里的标准做法。 然后运行下node test.js, 可以看到控制台输出结果: ?进一步,我们可以将demo.js代码里的hello world输出改成如下: token的信息会被解析到ctx.state.user这个对象里,??然后再用test.js运行测试下,结果类似: ?这些输出的信息也就是identityserver4里这个client配置的相关信息。 参考https://github.com/auth0/node-jwks-rsa/tree/master/examples/koa-demohttps://github.com/auth0/node-jwks-rsa/tree/master/examples/koa-demo |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:07:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |