ToB企服应用市场:ToB评测及商务社交产业平台

标题: Enterprise level safety function system 企业级安全功能体系快速开始 els [打印本页]

作者: 数据人与超自然意识    时间: 2024-8-8 18:41
标题: Enterprise level safety function system 企业级安全功能体系快速开始 els
最新文档:https://elsfs.gitee.io/
elsfs 框架:https://gitee.com/elsfs/elsfs-cloud
环境准备

①后端开发环境


②配置本地hosts

注意:必须配置 hosts ,克制修改代码中配置成IP | 梯子、VPN 等软件会导致 hosts 配置失效,请关闭!!
  1. 127.0.0.1 nacos
  2. 127.0.0.1 mysql
  3. 127.0.0.1 redis
  4. 127.0.0.1 kibana
复制代码
③项目下载

平台地址giteegit clone https://gitee.com/elsfs/elsfs-cloud.gitgithubgit clone https://github.com/elsfs/elsfs-cloud.git 待开放 ④初始化数据库

版本: mysql8.0+ 默认字符集: utf8mb4 默认排序规则: utf8mb4_general_ci
  1. -- 核心数据库
  2. source db/elsfs-mysql.sql;
  3. -- nacos配置
  4. source db/naocs-mysql.sql;
复制代码
⑤配置文件修改

特别阐明: host配置不要改成IP , why?

  1. # elsfs/elsfs-optionl/elsfs-optionl-nacos/src/main/resources/application.yml
  2. db:
  3.   num: 1
  4.   user: ${MYSQL-USER:root}  #修改:用户名
  5.   password: ${MYSQL-PWD:root} #修改:密码, 特殊字符使用 '包裹'
  6.   url:
  7.     0: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/${MYSQL_DB:nacos}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
复制代码
⑥启动nacos

找到对应模块的类,直接右键Main 启动即可
  1. elsfs-optional/elsfs-optional-nacos/src/main/java/com/alibaba/nacos/NacosApplication.java
复制代码
⑦redis、mysql 配置

:::tip
访问: http://nacos:8848/nacos (默认账号暗码 nacos/nacos)
:::
修改对应的命名空间elsfs-cloud下的配置文件redis,mysql配置

application-dev.yml
  1. elsfs:
  2.   security:
  3. # 配置公钥和私钥   
  4.     key-pairs:
  5.       - id: key
  6.         created: 2023-11-19T10:00:00.000Z
  7.         public-key: publicKey.pem
  8.         private-key: privateKey.pem
  9.     issuer: http://localhost:7001
  10. spring:
  11.   web:
  12.     locale-resolver: accept_header
  13.     locale: zh_CN
  14.   data:
  15.     redis:
  16.       database: 0
  17.       host: redis
  18.       port: 6379
复制代码
elsfs-cloud-starter-dev.yml
  1. spring:
  2.   datasource:
  3.     driver-class-name: com.mysql.cj.jdbc.Driver
  4.     username: ${MYSQL_USER:root}
  5.     password: ${MYSQL_PASSWORD:root}
  6.     url: jdbc:mysql://${MYSQL_HOST:mysql}:${MYSQL_PORT:3306}/${MYSQL_DB:elsfs-admin}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
  7.   security:
  8.     oauth2:
  9.       client:
  10.         registration:
  11.           github:
  12.             provider: github
  13.             # App ID: 670371
  14.             client-id: xxx
  15.             client-secret: xxx
  16.             scope: user:email, read:user
  17.           gitee:
  18.             # 指定oauth登录提供者,该oauth登录由provider中的gitee来处理
  19.             provider: gitee
  20.             # 客户端名字
  21.             client-name: Sign in with Gitee
  22.             # 客户端id,使用自己的gitee的客户端id
  23.             client-id: xxx
  24.             # 客户端秘钥,使用自己的gitee的客户端秘钥
  25.             client-secret: xxx
  26.             # 认证方式
  27.             authorization-grant-type: authorization_code
  28.             # 回调地址
  29.             redirect-uri: http://127.0.0.1:7001/login/oauth2/code/gitee
  30.             # 申请scope列表
  31.             scope:
  32.               - user_info
  33.               - emails
  34.           qq:
  35.             provider: qq
  36.             # appid:应用的唯一标识。在OAuth2.0认证过程中,appid的值即为oauth_consumer_key的值。
  37.             # appid(oauth_consumer_key/client_id)
  38.             client-id: your-app-app-id
  39.             # appkey:appid对应的密钥,访问用户资源时用来验证应用的合法性。在OAuth2.0认证过程中,appkey的值即为oauth_consumer_secret的值。
  40.             # appkey(auth_consumer_secret/client_secret);
  41.             client-secret: your-app-secret
  42.             authorization-grant-type: authorization_code
  43.             # 回调地址
  44.             redirect-uri: http://127.0.0.1:7001/login/oauth2/code/qq
  45.             scope:
  46.               - user_info
  47.               - emails
  48.             client-name: Sign in with QQ
  49.           google:
  50.             client-id: your-app-client-id
  51.             client-secret: your-app-client-secret
  52.           facebook:
  53.             client-id: your-app-client-id
  54.             client-secret: your-app-client-secret
  55.           okta:
  56.             client-id: your-app-client-id
  57.             client-secret: your-app-client-secret
  58.           login-client:
  59.             provider: spring
  60.             client-id: messaging-client
  61.             client-secret: "$2a$10$hVq5XfeMHERLoFo6RBUFieyrZF8ElwvRRgrig/wb/IkXUzz3zCZhG"
  62.             client-authentication-method: client_secret_basic
  63.             authorization-grant-type: authorization_code
  64.             redirect-uri: http://admin.elsfs.test:7001/login/oauth2/code/login-client
  65.             scope:
  66. #              - openid
  67.               - message.read
  68.               - message.write
  69.             client-name: spring
  70.         provider:
  71.           github:
  72.             user-name-attribute: login
  73.           qq:
  74.             user-name-attribute: openid
  75.             # https://wiki.connect.qq.com/%e4%bd%bf%e7%94%a8authorization_code%e8%8e%b7%e5%8f%96access_token
  76.             # 发起授权申请的地址
  77.             authorization-uri: https://graph.qq.com/oauth2.0/authorize
  78.             # 获取token的地址
  79.             token-uri: https://graph.qq.com/oauth2.0/token?fmt=json&need_openid=1
  80.             # 获取用户信息的地址 使用Access Token来获取用户的OpenID
  81.             user-info-uri: https://graph.qq.com/oauth2.0/me?fmt=json
  82.           gitee:
  83.             # 设置用户信息响应体中账号的字段
  84.             user-name-attribute: id
  85.             # 获取token的地址
  86.             token-uri: https://gitee.com/oauth/token
  87.             # 获取用户信息的地址
  88.             user-info-uri: https://gitee.com/api/v5/user
  89.             # 发起授权申请的地址
  90.             authorization-uri: https://gitee.com/oauth/authorize
  91.           spring:
  92.             user-name-attribute: sub
  93.             token-uri: http://localhost:7002/oauth2/token
  94.             user-info-uri: http://localhost:7002/userinfo
  95.             authorization-uri: http://localhost:7002/oauth2/authorize
  96.             jwk-set-uri: http://localhost:7002/oauth2/jwks
  97.           okta:
  98.             authorization-uri: https://your-subdomain.oktapreview.com/oauth2/v1/authorize
  99.             token-uri: https://your-subdomain.oktapreview.com/oauth2/v1/token
  100.             user-info-uri: https://your-subdomain.oktapreview.com/oauth2/v1/userinfo
  101.             jwk-set-uri: https://your-subdomain.oktapreview.com/oauth2/v1/keys
复制代码
⑧启动顺序

  1. elsfs-optional/elsfs-optional-nacos/src/main/java/com/alibaba/nacos/NacosApplication.java
  2. starter/elsfs-cloud-oauth2-starter/src/main/java/org/elsfs/cloud/Oauth2ApplicationStarter.javastarter/elsfs-cloud-starter/src/main/java/org/elsfs/cloud/AdminApplicationStarter.java
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4