OAuth2 Server 项目教程

OAuth2 Server 项目教程

oauth2-serverspring boot (springboot 2+) oauth2 server sso 单点登录 认证中心 JWT,独立部署,用户管理 客户端管理项目地址:https://gitcode.com/gh_mirrors/oau/oauth2-server

1. 项目的目录结构及介绍

oauth2-server/
├── config/
│   ├── default.json
│   ├── production.json
│   └── ...
├── src/
│   ├── models/
│   │   ├── Client.js
│   │   ├── Token.js
│   │   └── ...
│   ├── routes/
│   │   ├── auth.js
│   │   ├── token.js
│   │   └── ...
│   ├── services/
│   │   ├── AuthService.js
│   │   ├── TokenService.js
│   │   └── ...
│   ├── app.js
│   └── server.js
├── tests/
│   ├── integration/
│   │   ├── auth.test.js
│   │   ├── token.test.js
│   │   └── ...
│   └── unit/
│       ├── models/
│       │   ├── Client.test.js
│       │   ├── Token.test.js
│       │   └── ...
│       └── services/
│           ├── AuthService.test.js
│           ├── TokenService.test.js
│           └── ...
├── .env
├── .gitignore
├── package.json
└── README.md

目录结构介绍

  • config/: 包含项目的配置文件,如 default.jsonproduction.json
  • src/: 项目的源代码目录。
    • models/: 存放数据模型的文件。
    • routes/: 存放路由定义的文件。
    • services/: 存放业务逻辑服务的文件。
    • app.js: 应用程序的入口文件。
    • server.js: 服务器的启动文件。
  • tests/: 包含项目的测试文件。
    • integration/: 集成测试文件。
    • unit/: 单元测试文件。
  • .env: 环境变量配置文件。
  • .gitignore: Git 忽略文件配置。
  • package.json: 项目的依赖和脚本配置文件。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

server.js

const app = require('./src/app');
const http = require('http');
const config = require('./config/default.json');

const port = normalizePort(process.env.PORT || config.port);
app.set('port', port);

const server = http.createServer(app);

server.listen(port);
server.on('error', onError);
server.on('listening', onListening);

function normalizePort(val) {
  const port = parseInt(val, 10);
  if (isNaN(port)) {
    return val;
  }
  if (port >= 0) {
    return port;
  }
  return false;
}

function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  const bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port;

  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}

function onListening() {
  const addr = server.address();
  const bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  console.log('Listening on ' + bind);
}

启动文件介绍

  • server.js 是项目的启动文件,负责创建 HTTP 服务器并监听指定的端口。
  • 它引入了 app.js 文件,该文件定义了应用程序的中间件和路由。
  • 通过 config/default.json 文件获取配置信息,如端口号。
  • 提供了错误处理和监听事件的回调函数。

3. 项目的配置文件介绍

config/default.json

{
  "port": 3

oauth2-serverspring boot (springboot 2+) oauth2 server sso 单点登录 认证中心 JWT,独立部署,用户管理 客户端管理项目地址:https://gitcode.com/gh_mirrors/oau/oauth2-server

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裘珑鹏Island

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值