课程名称:web前端架构师
课程章节:第16周 第六章、第七章
主讲老师:张轩
课程内容: 使用 .env 文件保存敏感信息、Oauth2 的介绍
在之前我们编写的代码中,我们在 config 文件中保存了我们的一些敏感信息,比如数据库密码、第三方申请的 key 等,这样做是很不安全的,所以我们需要将它给删除掉,保存到我们的环境变量中
egg.js 运行环境文档地址 https://www.eggjs.org/zh-CN/basics/env
NODE_ENV | EGG_SERVER_ENV | 说明 |
---|---|---|
local | 本地开发环境 | |
test | unittest | 单元测试 |
production | prod | 生产环境 |
指定运行环境
// config/env prod
EGG_SERVER_ENV=prod npm start
我们还可以在 .env 文件中保存我们的环境变量,同时将该文件添加到 .gitignore 中,防止提交
USER=root PASSWORD=123456
然后安装 dotenv
npm i dotenv
在 config 文件中引入 doteng
import dotenv from 'dotenv'; dotenv.config(); config.mongoose = { url: process.env.MONGO_HOST, options: { user: process.env.MONGO_USER, pass: process.env.MONGO_PASS, dbName: process.env.MONGO_DB, }, };
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,是用来授权第三方应用。
传统方式的缺陷
Oauth2 的思路
Token 的优点
Oatuh2 的授权方式